/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { BytesStreamReader } from "#general";
import { Flow } from "./Flow.js";
/**
 * Base class for outbound BDX transfer flows where data is read from our node and sent to the peer.
 */
export declare abstract class OutboundFlow extends Flow {
    #private;
    protected get stream(): {
        iterator: AsyncGenerator<Uint8Array<ArrayBufferLike>, void, unknown>;
        streamReader: BytesStreamReader;
    };
    /**
     * Returns initialized streams for the transfer and initializes the #closeStream class function
     */
    protected initTransfer(): Promise<void>;
    /**
     * Reads one data chunk from the reader and does some basic checks.
     */
    protected readDataChunk(reader: AsyncGenerator<Uint8Array<ArrayBufferLike>, void, unknown>): Promise<{
        data: Uint8Array<ArrayBufferLike>;
        done: boolean;
    }>;
    protected finalizeTransfer(): Promise<void>;
    close(error?: unknown): Promise<void>;
}
//# sourceMappingURL=OutboundFlow.d.ts.map