import ElectronFolder from "./ElectronFolder";
import IFile, { FileUpdateType } from "../storage/IFile";
import FileBase from "../storage/FileBase";
export interface IFStatResult {
    isDirectory: boolean;
    isFile: boolean;
    mtime: string;
    ctime: string;
    size: number;
}
export default class ElectronFile extends FileBase implements IFile {
    _name: string;
    _parentFolder: ElectronFolder;
    localPersistDateTime?: number;
    get name(): string;
    get fullPath(): string;
    get parentFolder(): ElectronFolder;
    get isContentLoaded(): boolean;
    constructor(parentFolder: ElectronFolder, folderName: string);
    scanForChanges(): Promise<void>;
    exists(): Promise<boolean>;
    loadContent(force: boolean): Promise<Date>;
    setContent(newContent: string | Uint8Array | null, updateType?: FileUpdateType, sourceId?: string): boolean;
    saveContent(): Promise<Date>;
    deleteThisFile(skipRemoveFromParent?: boolean): Promise<boolean>;
    moveTo(newStorageRelativePath: string): Promise<boolean>;
    _recycleItem(path: string): Promise<void>;
}
