import { PrismaService } from '../prisma/prisma.service';
type FinalProductQuery = {
    page?: string;
    pageSize?: string;
    search?: string;
    status?: string;
    inch?: string;
    codeStart?: string;
    codeEnd?: string;
    sortBy?: string;
    sortOrder?: string;
    format?: string;
};
export declare class FinalProductsService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    list(query: FinalProductQuery): Promise<{
        items: any;
        meta: {
            total: any;
            page: number;
            pageSize: number;
            totalPages: number;
        };
        filterOptions: {
            statuses: any;
        };
    }>;
    private withProductImage;
    importFile(fileName: string, buffer: Buffer, mimeType?: string): Promise<{
        totalRows: number;
        created: number;
        updated: number;
        skipped: number;
        errors: string[];
    }>;
    exportFile(query: FinalProductQuery): Promise<import("../common/tabular-file.util").ExportFile>;
    delete(id: string): Promise<{
        deleted: boolean;
    }>;
    private getModel;
    private fetchExistingSetProductCodes;
    private resolveSetProductCodes;
    private buildSetProductWhere;
    private buildProductCodeRange;
    private buildWhere;
    private buildOrderBy;
    private resolveSortBy;
    private validateRow;
    private buildLinkedProductTagValidationContext;
    private validateLinkedProductTagCodes;
    private appendProductTagValidationError;
    private buildExportCodeMaps;
    private buildCodeMap;
    private buildStrictCodeMap;
    private assignExportCodeAliases;
    private buildImportCodeMaps;
    private validateLookupCodes;
    private validateInchValue;
    private resolveExportCode;
    private resolveStrictExportCode;
    private mapDerivedExportRow;
    private filterDerivedExportRows;
    private sortDerivedExportRows;
    private pickText;
    private pickCodeValue;
    private pickStrictCodeValue;
    private toPositiveNumber;
}
export {};
