import { Repository } from "typeorm";
import { KeywordsRepository } from "./keywords.repository";
import { OpenAIService } from "src/common/services/openai/openai.service";
import { Users } from "../../entities/users.entity";
import { Keywords } from "../../entities/keywords.entity";
import { KeywordTranslation } from "../../entities/keyword-translations.entity";
import { UpdateDto } from "./dtos/update.dto";
import { KeywordIdParamDto } from "./dtos/keyword-id-param.dto";
import { CreateDto } from "./dtos/create.dto";
import { UserKeywords } from "src/entities/user-keywords.entity";
export declare class KeywordsService {
    private keywordsRepository;
    private Keywords;
    private Users;
    private KeywordTranslation;
    private UserKeywords;
    private readonly openAIService;
    constructor(keywordsRepository: KeywordsRepository, Keywords: Repository<Keywords>, Users: Repository<Users>, KeywordTranslation: Repository<KeywordTranslation>, UserKeywords: Repository<UserKeywords>, openAIService: OpenAIService);
    private delay;
    create(request: CreateDto): Promise<void>;
    update(params: KeywordIdParamDto, request: UpdateDto): Promise<void>;
    adminList(queryParam: any): Promise<{
        data: {
            translations: KeywordTranslation[];
            id: string;
            keyword: string;
            created_at: Date;
            updated_at: Date;
            deleted_at: Date;
        }[];
        total: number;
        hasMoreResults: number;
    }>;
    list(queryParam: any, authUser: any): Promise<{
        data: Keywords[];
        total: number;
        hasMoreResults: number;
    }>;
    delete(params: KeywordIdParamDto): Promise<void>;
    detail(params: KeywordIdParamDto, authUser?: any): Promise<{
        keyword: Keywords;
    }>;
    convertEnglishKeywordsToKorean(): Promise<{
        total_english: number;
        processed: number;
        inserted: number;
        updated: number;
        skipped: number;
        failed: number;
        errors: {
            keyword_id: string;
            english: string;
            message: string;
        }[];
    }>;
}
