type UnknownRecord = Record<string, unknown>;
export type BridgeActionStage = 'request_inbound' | 'request_outbound' | 'response_inbound' | 'response_outbound';
export interface BridgeActionDescriptor {
    name: string;
    options?: Record<string, unknown>;
}
export interface BridgeActionState {
    messages: Array<UnknownRecord>;
    requiredAction?: UnknownRecord;
    capturedToolResults?: Array<{
        tool_call_id?: string;
        call_id?: string;
        output?: unknown;
        name?: string;
    }>;
    rawRequest?: UnknownRecord;
    rawResponse?: UnknownRecord;
    metadata?: Record<string, unknown>;
}
export interface BridgeActionContext {
    stage: BridgeActionStage;
    protocol?: string;
    moduleType?: string;
    requestId?: string;
    descriptor: BridgeActionDescriptor;
    state: BridgeActionState;
}
export type BridgeAction = (context: BridgeActionContext) => void;
export declare function registerBridgeAction(name: string, action: BridgeAction): void;
export declare function createBridgeActionState(seed?: Partial<BridgeActionState>): BridgeActionState;
export declare function runBridgeActionPipeline(options: {
    stage: BridgeActionStage;
    actions?: BridgeActionDescriptor[];
    protocol?: string;
    moduleType?: string;
    requestId?: string;
    state: BridgeActionState;
}): void;
export {};
