import { RenderContext, DocumentContext, ContextData, FlexiWriter } from '../type';
export declare class BufWriter implements FlexiWriter {
    private buffer;
    private position;
    private capacity;
    constructor(initialCapacity?: number);
    write(data: Uint8Array): Promise<void>;
    writeString(str: string): Promise<void>;
    writeByte(b: number): Promise<void>;
    bytes(): Uint8Array;
    length(): number;
    truncate(size: number): void;
    private ensureCapacity;
}
export declare class RenderContextDataHolder implements ContextData {
    private rctx;
    private dctx;
    constructor(rctx: RenderContext, dctx: DocumentContext);
    renderContext(): RenderContext;
    documentContext(): DocumentContext;
}
export declare class Context implements FlexiWriter, ContextData {
    private bufWriter;
    private contextData;
    private posStack;
    constructor(bufWriter: BufWriter, contextData: ContextData);
    write(data: Uint8Array): Promise<void>;
    writeString(str: string): Promise<void>;
    writeByte(b: number): Promise<void>;
    renderContext(): RenderContext;
    documentContext(): DocumentContext;
    get buffer(): BufWriter;
    pushPos(pos: number): void;
    popPos(): number;
}
