import { ByteWriterAsync } from "../index.js";
export declare class DataViewByteWriterAsync implements ByteWriterAsync {
    littleEndian: boolean;
    protected _dataview: DataView;
    protected _isComplete: boolean;
    protected _byteOffset: number;
    protected get _bytesRemaining(): number;
    get dataview(): DataView;
    set dataview(dataview: DataView);
    isComplete(): Promise<boolean>;
    constructor(dataview: DataView, littleEndian?: boolean);
    protected updateIsComplete(): Promise<boolean>;
    complete(): Promise<void>;
    /**
     * Attempts to ensure that a specified number of bytes are available in the
     * current dataview.
     *
     * @param bytes the number of bytes to request available in the current
     * dataview
     * @returns the number of bytes at least made available in the current
     * dataview, up to the requested number of bytes
     */
    protected tryEnsureAvailable(bytes: number): Promise<number>;
    protected ensureAvailable(bytes: number): Promise<void>;
    writeFloat32(value: number): Promise<void>;
    writeFloat64(value: number): Promise<void>;
    writeInt8(value: number): Promise<void>;
    writeInt16(value: number): Promise<void>;
    writeInt32(value: number): Promise<void>;
    writeUint8(value: number): Promise<void>;
    writeUint16(value: number): Promise<void>;
    writeUint32(value: number): Promise<void>;
    tryWriteBytes(view: ArrayBufferView): Promise<number>;
    writeBytes(view: ArrayBufferView): Promise<void>;
    writeString(value: string): Promise<void>;
}
//# sourceMappingURL=writer-async.d.ts.map