/// <reference types="node" />
import { TypesafeRequestDispatcher } from '@fitbit/jsonrpc-ts';
import * as types from './FDBTypes';
export declare type WriteCallback = (length: number, sum: number) => void;
export declare type FinalizeCallback = (buffer: Buffer) => void;
export declare class BulkDataStream {
    token: types.StreamToken;
    length: number;
    onWrite?: WriteCallback;
    private data;
    private disposer;
    constructor(token: types.StreamToken, disposer: () => void, onWrite?: WriteCallback);
    write(buffer: Buffer): void;
    finalize(): Buffer;
}
export default class BulkData {
    private streams;
    private nextToken;
    register(dispatcher: TypesafeRequestDispatcher): void;
    private getStream;
    private handleWrite;
    createWriteStream(onWrite?: WriteCallback): BulkDataStream;
}
//# sourceMappingURL=BulkData.d.ts.map