import type { FlattenedField } from '../fields/config/types.js';
type Operation = 'create' | 'update';
export type ExternalUploadSource = {
    filename: string;
    url: string;
};
type UploadDataOptions = {
    locale?: string;
    localizedProperties?: Set<string>;
};
export declare const getExternalUploadSource: (data: unknown) => ExternalUploadSource | undefined;
export declare const getUploadDestination: ({ data, file, }: {
    data: unknown;
    file: {
        clientUploadContext?: unknown;
    } | null | undefined;
}) => {
    objectKey?: string;
    prefix?: string;
};
export declare const getLocalizedUploadProperties: (fields: FlattenedField[]) => Set<string>;
export declare const sanitizeUploadData: <T>(data: T, operation: Operation) => T;
export declare const mergeUploadDataWithDocument: <T>(data: T, document: unknown, options?: UploadDataOptions) => T;
export declare const restoreUploadDataFromDocument: <T>(data: T, document: unknown, options?: UploadDataOptions) => T;
export {};
//# sourceMappingURL=sanitizeUploadData.d.ts.map