import { PrismaService } from "../../../../core/database/prisma/prisma.service";
import { CreateFormTranslationDto, UpdateFormTranslationDto, BatchImportTranslationsDto } from '../dto';
import { FormIdentifierResolverService } from './form-identifier-resolver.service';
export declare class FormTranslationService {
    private readonly prisma;
    private readonly identifierResolver;
    private readonly logger;
    constructor(prisma: PrismaService, identifierResolver: FormIdentifierResolverService);
    create(formIdentifier: string, version: number, dto: CreateFormTranslationDto): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        locale: string;
        versionId: string;
        translations: import("@prisma/client/runtime/library").JsonValue;
    }>;
    findAll(formIdentifier: string, version: number): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        locale: string;
        versionId: string;
        translations: import("@prisma/client/runtime/library").JsonValue;
    }[]>;
    findOne(formIdentifier: string, version: number, locale: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        locale: string;
        versionId: string;
        translations: import("@prisma/client/runtime/library").JsonValue;
    }>;
    update(formIdentifier: string, version: number, locale: string, dto: UpdateFormTranslationDto): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        locale: string;
        versionId: string;
        translations: import("@prisma/client/runtime/library").JsonValue;
    }>;
    remove(formIdentifier: string, version: number, locale: string): Promise<{
        id: string;
        locale: string;
        deleted: boolean;
    }>;
    upsert(formIdentifier: string, version: number, locale: string, dto: UpdateFormTranslationDto): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        locale: string;
        versionId: string;
        translations: import("@prisma/client/runtime/library").JsonValue;
    }>;
    checkCompleteness(formIdentifier: string, version: number, locale: string): Promise<{
        locale: string;
        isComplete: boolean;
        coverage: number;
        totalRequired: number;
        translated: number;
        missingKeys: string[];
    }>;
    batchImport(formIdentifier: string, version: number, dto: BatchImportTranslationsDto): Promise<{
        imported: number;
        created: number;
        updated: number;
        failed: number;
        errors: Array<{
            locale: string;
            error: string;
        }>;
    }>;
}
