import { PrismaService } from '../../common/prisma/prisma.service';
import { ActivityLogService } from '../activity-logs/activity-log.service';
import { KeywordStatus } from '../../generated/prisma/enums';
import { CreateKeywordDto } from './dto/create-keyword.dto';
import { BulkCreateKeywordsDto } from './dto/bulk-create-keywords.dto';
import { UpdateKeywordDto } from './dto/update-keyword.dto';
export declare class KeywordsService {
    private readonly prisma;
    private readonly activityLogService;
    private readonly logger;
    constructor(prisma: PrismaService, activityLogService: ActivityLogService);
    listClientKeywords(clientId: string, assignedUserId?: string): Promise<({
        client: {
            id: string;
            companyName: string;
            contactName: string;
        };
    } & {
        keyword: string;
        id: string;
        status: KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    })[]>;
    listAllKeywords(params: {
        clientId?: string;
        search?: string;
        page?: number;
        limit?: number;
    }, assignedUserId?: string): Promise<({
        client: {
            id: string;
            companyName: string;
            contactName: string;
        };
    } & {
        keyword: string;
        id: string;
        status: KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    })[] | {
        items: ({
            client: {
                id: string;
                companyName: string;
                contactName: string;
            };
        } & {
            keyword: string;
            id: string;
            status: KeywordStatus;
            isDeleted: boolean;
            createdAt: Date;
            updatedAt: Date;
            clientId: string;
        })[];
        meta: {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        };
    }>;
    createKeyword(clientId: string, dto: CreateKeywordDto, actorUserId?: string, assignedUserId?: string): Promise<{
        keyword: string;
        id: string;
        status: KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    }>;
    bulkCreateKeywords(clientId: string, dto: BulkCreateKeywordsDto, actorUserId?: string, assignedUserId?: string): Promise<{
        keyword: string;
        id: string;
        status: KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    }[]>;
    updateKeyword(id: string, dto: UpdateKeywordDto, actorUserId?: string, assignedUserId?: string): Promise<{
        keyword: string;
        id: string;
        status: KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    }>;
}
