import type { InboundPlan, InboundPassthroughConfig, InboundStage } from './pipelines/inbound.js';
import type { OutboundPlan, OutboundPassthroughConfig, OutboundStage } from './pipelines/outbound.js';
import type { FormatAdapter, SemanticMapper } from './format-adapters/index.js';
interface InboundPlanFactory {
    protocol: string;
    stages: InboundStage[];
    passthrough?: InboundPassthroughConfig;
    createFormatAdapter?: () => FormatAdapter;
    createSemanticMapper?: () => SemanticMapper;
}
interface OutboundPlanFactory {
    protocol: string;
    stages: OutboundStage[];
    passthrough?: OutboundPassthroughConfig;
    createFormatAdapter?: () => FormatAdapter;
    createSemanticMapper?: () => SemanticMapper;
}
export interface HubProtocolDefinition {
    protocol: string;
    inbound: InboundPlanFactory;
    outbound: OutboundPlanFactory;
}
export declare const HUB_PROTOCOL_REGISTRY: Record<string, HubProtocolDefinition>;
export declare function createProtocolPlans(protocol: string): {
    inbound: InboundPlan;
    outbound: OutboundPlan;
};
export {};
