import { AbstractAccessor } from "./AbstractAccessor";
import { AbstractEntry } from "./AbstractEntry";
import { AbstractFileWriter } from "./AbstractFileWriter";
import { ContentCallback, DataType, DirectoryEntry, EntryCallback, ErrorCallback, FileCallback, FileEntry, FileWriterCallback, TextCallback, VoidCallback } from "./filesystem";
import { FileSystemParams } from "./FileSystemParams";
export declare abstract class AbstractFileEntry<T extends AbstractAccessor> extends AbstractEntry<T> implements FileEntry {
    fileWriter: AbstractFileWriter<T>;
    isDirectory: boolean;
    isFile: boolean;
    constructor(params: FileSystemParams<T>);
    get size(): number;
    copyTo(parent: DirectoryEntry, newName?: string | undefined, successCallback?: EntryCallback | undefined, errorCallback?: ErrorCallback | undefined): void;
    createWriter(successCallback: FileWriterCallback, errorCallback?: ErrorCallback | undefined): void;
    file(successCallback: FileCallback, errorCallback?: ErrorCallback | undefined): void;
    moveTo(parent: DirectoryEntry, newName?: string | undefined, successCallback?: EntryCallback | undefined, errorCallback?: ErrorCallback | undefined): void;
    readFile(successCallback: ContentCallback, errorCallback?: ErrorCallback, type?: DataType): void;
    readText(successCallback: TextCallback, errorCallback?: ErrorCallback): void;
    remove(successCallback: VoidCallback, errorCallback?: ErrorCallback | undefined): void;
    writeFile(content: Blob | BufferSource | string, successCallback?: VoidCallback, errorCallback?: ErrorCallback): void;
    writeText(text: string, successCallback?: VoidCallback, errorCallback?: ErrorCallback): void;
    protected abstract createFileWriter(file: File): AbstractFileWriter<T>;
}
//# sourceMappingURL=AbstractFileEntry.d.ts.map