import type { Request } from 'express';
import { AuthRequestUser } from '../auth/interfaces/auth-request-user.interface';
import { CreateKeywordDto } from './dto/create-keyword.dto';
import { BulkCreateKeywordsDto } from './dto/bulk-create-keywords.dto';
import { UpdateKeywordDto } from './dto/update-keyword.dto';
import { KeywordsService } from './keywords.service';
export declare class KeywordsController {
    private readonly keywordsService;
    constructor(keywordsService: KeywordsService);
    listKeywords(request: Request & {
        user: AuthRequestUser;
    }, clientId?: string, search?: string, page?: string, limit?: string): Promise<({
        client: {
            id: string;
            companyName: string;
            contactName: string;
        };
    } & {
        keyword: string;
        id: string;
        status: import("../../generated/prisma/enums").KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    })[] | {
        items: ({
            client: {
                id: string;
                companyName: string;
                contactName: string;
            };
        } & {
            keyword: string;
            id: string;
            status: import("../../generated/prisma/enums").KeywordStatus;
            isDeleted: boolean;
            createdAt: Date;
            updatedAt: Date;
            clientId: string;
        })[];
        meta: {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        };
    }>;
    listClientKeywords(clientId: string, request: Request & {
        user: AuthRequestUser;
    }): Promise<({
        client: {
            id: string;
            companyName: string;
            contactName: string;
        };
    } & {
        keyword: string;
        id: string;
        status: import("../../generated/prisma/enums").KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    })[]>;
    createKeyword(clientId: string, dto: CreateKeywordDto, request: Request & {
        user: AuthRequestUser;
    }): Promise<{
        keyword: string;
        id: string;
        status: import("../../generated/prisma/enums").KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    }>;
    bulkCreateKeywords(clientId: string, dto: BulkCreateKeywordsDto, request: Request & {
        user: AuthRequestUser;
    }): Promise<{
        keyword: string;
        id: string;
        status: import("../../generated/prisma/enums").KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    }[]>;
    updateKeyword(id: string, dto: UpdateKeywordDto, request: Request & {
        user: AuthRequestUser;
    }): Promise<{
        keyword: string;
        id: string;
        status: import("../../generated/prisma/enums").KeywordStatus;
        isDeleted: boolean;
        createdAt: Date;
        updatedAt: Date;
        clientId: string;
    }>;
}
