import { ArtifactStore } from '@pellux/goodvibes-sdk/platform/artifacts/index';
import { ConfigManager } from '../config/manager.js';
import { ServiceRegistry } from '../config/service-registry.js';
import type { ControlPlaneGateway } from '../control-plane/gateway.js';
import type { ChannelDeliveryRequest, ChannelDeliveryRouterConfig, ChannelDeliveryStrategy } from './delivery/types.js';
export type { ChannelDeliveryResult, ChannelDeliveryRouteBinding, ChannelDeliveryRouterConfig, ChannelDeliveryStrategy, ChannelDeliverySurfaceKind, ChannelDeliveryTarget, ChannelDeliveryTargetKind, } from './delivery/types.js';
export { resolveChannelDeliverySurfaceKind } from './delivery/shared.js';
export declare function createDefaultChannelDeliveryStrategies(configManager: ConfigManager, serviceRegistry: ServiceRegistry, artifactStore: ArtifactStore, getControlPlaneGateway: () => ControlPlaneGateway | null): ChannelDeliveryStrategy[];
export declare class ChannelDeliveryRouter {
    private readonly strategies;
    private controlPlaneGateway;
    constructor(config?: ChannelDeliveryRouterConfig);
    setControlPlaneGateway(gateway: ControlPlaneGateway | null): void;
    listStrategies(): readonly ChannelDeliveryStrategy[];
    registerStrategy(strategy: ChannelDeliveryStrategy, options?: {
        readonly replace?: boolean;
    }): void;
    unregisterStrategy(strategyId: string): boolean;
    deliver(request: ChannelDeliveryRequest): Promise<string | undefined>;
}
//# sourceMappingURL=delivery-router.d.ts.map