import { Message } from "../action/resp/Message";
import { IConfig } from "../config/IConfig";
import { FileData } from "../action/resp/FileData";
import { FileCommited } from "../file/FileCommited";
export declare abstract class AFile {
    protected m_config: IConfig;
    private m_name;
    private m_dir;
    protected m_commonErrors: Message[];
    protected m_mainFile: FileCommited;
    constructor(config: IConfig, dir: string, name: string);
    getData(): FileData;
    getModifications(): AFile[];
    getModificationName(): string;
    getSize(): number;
    getErrors(): Message[];
    checkForErrors(checkForExist: boolean): boolean;
    setName(name: string): void;
    setDir(dir: string): void;
    abstract isCommited(): boolean;
    abstract getBaseDir(): string;
    getName(): string;
    getDir(): string;
    getUrlUploader(): string;
    getFullPath(): string;
    getExt(): string;
    getNameWithoutExt(): string;
    getFile(): string;
    exists(): boolean;
    delete(): void;
    isImage(): boolean;
    getImageWidth(): number;
    getImageHeight(): number;
    getImage(): string;
    setFreeFileName(): void;
    copyTo(dstFile: AFile): void;
}
