import { AbstractAccessor } from "./AbstractAccessor";
import { AbstractFileEntry } from "./AbstractFileEntry";
import { FileWriter } from "./filewriter";
export declare abstract class AbstractFileWriter<T extends AbstractAccessor> implements FileWriter {
    protected fileEntry: AbstractFileEntry<T>;
    file: File;
    DONE: number;
    INIT: number;
    WRITING: number;
    error: Error;
    onabort: (event: ProgressEvent<EventTarget>) => void;
    onerror: (event: ProgressEvent<EventTarget>) => void;
    onprogress: (event: ProgressEvent<EventTarget>) => void;
    onwrite: (event: ProgressEvent<EventTarget>) => void;
    onwriteend: (event: ProgressEvent<EventTarget>) => void;
    onwritestart: (event: ProgressEvent<EventTarget>) => void;
    position: number;
    readyState: number;
    constructor(fileEntry: AbstractFileEntry<T>, file: File);
    get length(): number;
    abort(): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    dispatchEvent(event: Event): boolean;
    removeEventListener(type: string, callback: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
    seek(offset: number): void;
    truncate(size: number): void;
    write(data: Blob): void;
    protected doWrite(blob: Blob, onsuccess: () => void): void;
}
//# sourceMappingURL=AbstractFileWriter.d.ts.map