import type { ArtifactStore } from '@pellux/goodvibes-sdk/platform/artifacts/index';
import { ChannelDeliveryRouter, RouteBindingManager } from '../channels/index.js';
import { ServiceRegistry } from '../config/service-registry.js';
import type { RuntimeStore } from '../runtime/store/index.js';
import type { RuntimeEventBus } from '../runtime/events/index.js';
import type { AutomationDeliveryAttempt, AutomationDeliveryTarget } from '@pellux/goodvibes-sdk/platform/automation/delivery';
import type { AutomationJob } from '@pellux/goodvibes-sdk/platform/automation/jobs';
import type { AutomationRun } from '@pellux/goodvibes-sdk/platform/automation/runs';
export declare class AutomationDeliveryManager {
    private readonly routeBindings;
    private readonly deliveryRouter;
    private runtimeDispatch;
    private runtimeBus;
    constructor(config: {
        readonly serviceRegistry?: ServiceRegistry;
        readonly configManager?: import('../config/manager.js').ConfigManager;
        readonly routeBindings: RouteBindingManager;
        readonly deliveryRouter?: ChannelDeliveryRouter;
        readonly artifactStore?: ArtifactStore;
        readonly runtimeStore?: RuntimeStore;
        readonly runtimeBus?: RuntimeEventBus;
    });
    attachRuntime(config: {
        readonly runtimeStore?: RuntimeStore | null;
        readonly runtimeBus?: RuntimeEventBus | null;
    }): void;
    getDeliveryRouter(): ChannelDeliveryRouter;
    setControlPlaneGateway(gateway: import('../control-plane/gateway.js').ControlPlaneGateway | null): void;
    deliverJobRun(job: AutomationJob, run: AutomationRun): Promise<readonly AutomationDeliveryAttempt[]>;
    deliverText(job: AutomationJob, run: AutomationRun, body: string, targets: readonly AutomationDeliveryTarget[]): Promise<readonly AutomationDeliveryAttempt[]>;
    private resolveTargets;
    private sendTarget;
    private syncAttempt;
}
//# sourceMappingURL=delivery-manager.d.ts.map