import { Transform, Readable } from 'stream';
export interface ConduitMetadata {
    type: 'conduit_metadata';
    data: {
        routingDecision: {
            model: string;
            source: string;
            reason: string;
            tokenCount?: number;
        };
        timestamp: string;
        conduitVersion: string;
    };
}
export declare class MetadataHandler {
    /**
     * Creates a transform stream that injects metadata as the first line
     */
    static createMetadataInjector(metadata: any): Transform;
    /**
     * Extracts metadata from NDJSON stream
     */
    static extractFromStream(data: string): any;
    /**
     * Creates a stream processor that handles both metadata and content
     */
    static createStreamProcessor(onMetadata: (metadata: any) => void): Transform;
    /**
     * Injects metadata into an existing stream
     */
    static injectIntoStream(stream: Readable, metadata: any): Readable;
    /**
     * Creates a metadata object for injection
     */
    static createMetadata(routingDecision: any, additionalData?: any): ConduitMetadata;
}
//# sourceMappingURL=metadata-handler.d.ts.map