/**
 * UniFFI client for Node.js — calls the same shared library as Python/Kotlin.
 *
 * Uses koffi to call the UniFFI C ABI directly, replacing NAPI entirely.
 * Handles RustBuffer serialization/deserialization for the UniFFI protocol.
 *
 * Flow dispatch is generic: callReq(flow, ...) and callRes(flow, ...) load
 * the corresponding C symbol dynamically from the flow list in _generated_flows.js.
 * No flow names are hardcoded here — add new flows to flows.yaml and run `make generate`.
 */
export interface RustBuffer {
    capacity: bigint;
    len: bigint;
    data: Buffer | null;
}
export interface RustCallStatus {
    code: number;
    error_buf: RustBuffer;
}
export declare class UniffiClient {
    private _ffi;
    constructor(libPath?: string);
    /**
     * Build the connector HTTP request for any flow.
     * Returns protobuf-encoded FfiConnectorHttpRequest bytes.
     */
    callReq(flow: string, requestBytes: Buffer | Uint8Array, optionsBytes: Buffer | Uint8Array): Buffer;
    /**
     * Parse the connector HTTP response for any flow.
     * responseBytes: protobuf-encoded FfiConnectorHttpResponse.
     * Returns protobuf-encoded response bytes for the flow's response type.
     */
    callRes(flow: string, responseBytes: Buffer | Uint8Array, requestBytes: Buffer | Uint8Array, optionsBytes: Buffer | Uint8Array): Buffer;
    /**
     * Execute a single-step transformer directly (no HTTP round-trip).
     * Used for inbound flows like webhook processing.
     * Returns protobuf-encoded response bytes.
     */
    callDirect(flow: string, requestBytes: Buffer | Uint8Array, optionsBytes: Buffer | Uint8Array): Buffer;
}
