import { IConfig } from "../config/IConfig";
import { AFile } from "../file/AFile";
import { Size } from "../action/req/ReqUploadCommit";
export declare class FileCommited extends AFile {
    protected static readonly SIZE_PREVIEW = "preview";
    protected static readonly SIZE_FULL = "full";
    protected m_modificationName: string;
    constructor(config: IConfig, dir: string, name: string);
    getBaseDir(): string;
    protected getFileModification(modificationName: string): FileCommited;
    getFileOriginal(): FileCommited;
    getFilePreview(): FileCommited;
    getModificationName(): string;
    getModifications(): AFile[];
    applySizes(sizes: {
        [key: string]: Size;
    }, onFinish: (e: Error) => void): void;
    private applySizeFull;
    private applySizePreview;
    getSizes(): string[];
    resizeImage(targetSize: Size, onFinish: (e: Error | number) => void): void;
    static readonly FIT_EXACT = 0;
    static readonly FIT_TO_WIDTH = 1;
    static readonly FIT_TO_HEIGHT = 2;
    private resizeImageNative;
    isCommited(): boolean;
}
