import { ModelsService } from 'src/models/models.service';
import { CommonService } from 'src/common/common.service';
import { Types } from 'mongoose';
import { CreateLanguageDto } from './dto/create-language.dto';
import { UpdateLanguageDto } from './dto/update-language.dto';
import { UpdateTranslationDto } from './dto/update-translation.dto';
import { CreateTranslationKeyDto } from './dto/create-translation-key.dto';
import { UpdateTranslationKeyDto } from './dto/update-translation-key.dto';
export declare class LanguagesService {
    private readonly models;
    private readonly commonService;
    constructor(models: ModelsService, commonService: CommonService);
    create(createLanguageDto: CreateLanguageDto): Promise<import("mongoose").Document<unknown, {}, import("./schema/language.schema").Language, {}> & import("./schema/language.schema").Language & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    findAll(page?: number, limit?: number, search?: string): Promise<{
        status: string;
        message: string;
        data: any[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
            hasNextPage: boolean;
            hasPrevPage: boolean;
        };
    }>;
    findOne(id: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    update(id: string, updateLanguageDto: UpdateLanguageDto): Promise<(import("mongoose").Document<unknown, {}, import("./schema/language.schema").Language, {}> & import("./schema/language.schema").Language & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }) | null>;
    remove(id: string): Promise<{
        message: string;
    }>;
    createTranslationKey(createTranslationKeyDto: CreateTranslationKeyDto): Promise<import("mongoose").Document<unknown, {}, import("./schema/translation-key.schema").TranslationKey, {}> & import("./schema/translation-key.schema").TranslationKey & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    updateTranslationKey(id: string, updateTranslationKeyDto: UpdateTranslationKeyDto): Promise<(import("mongoose").Document<unknown, {}, import("./schema/translation-key.schema").TranslationKey, {}> & import("./schema/translation-key.schema").TranslationKey & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }) | null>;
    deleteTranslationKey(id: string): Promise<{
        message: string;
    }>;
    getTranslations(languageId: string, page?: number, limit?: number, search?: string): Promise<{
        status: string;
        message: string;
        data: any[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
            hasNextPage: boolean;
            hasPrevPage: boolean;
        };
    }>;
    updateTranslation(updateTranslationDto: UpdateTranslationDto): Promise<import("mongoose").Document<unknown, {}, import("./schema/translation.schema").Translation, {}> & import("./schema/translation.schema").Translation & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    exportTranslations(languageId: string): Promise<any>;
    importTranslations(languageId: string, fileBuffer: Buffer): Promise<{
        message: string;
    }>;
    getPublicTranslations(code: string): Promise<{}>;
    seed(): Promise<{
        message: string;
    }>;
}
