import { Byte, IError, ISubject, Milliseconds } from '@vkontakte/videoplayer-shared';
declare class SourceBufferTaskQueue {
    bufferFull$: ISubject<Byte>;
    error$: ISubject<IError>;
    private buffer;
    private queue;
    private currentTask;
    private destroyed;
    private abortRequested;
    private isAbortFixEnabled;
    constructor(buffer: SourceBuffer, isAbortFixEnabled?: boolean);
    append(data: BufferSource, signal?: AbortSignal): Promise<boolean>;
    remove(from: Milliseconds, to: Milliseconds, signal?: AbortSignal): Promise<boolean>;
    abort(init?: BufferSource): Promise<boolean>;
    destroy(): void;
    private completeTask;
    private pull;
    private execute;
}
export default SourceBufferTaskQueue;
