/** * Channel binding carried on channel-originated runs. * * The Events handler stamps a serializable binding into run `configurable`. * The runtime seam rebuilds `runtime.channel` only when the trusted auth user * source provider matches — clients cannot invent a channel surface. */ import type { ChannelTransport } from "./runtime.js"; import type { ChannelAddress, ChannelEvent, RuntimeChannel } from "./types.js"; /** Env var holding the Slack bot token for Phase 1 single-workspace installs. */ export declare const SLACK_BOT_TOKEN_ENV = "SLACK_BOT_TOKEN"; /** Configurable key stamped by the managed channel runner (never client-trusted alone). */ export declare const CHANNEL_BINDING_KEY = "mda_channel_binding"; export interface ChannelBinding { name: string; provider: string; event: ChannelEvent; address: ChannelAddress; autoReply: boolean; deliveryId: string; } export declare function markFinalPosted(deliveryId: string): void; export declare function clearFinalPosted(deliveryId: string): void; export declare function wasDeliveryFinalPosted(deliveryId: string): boolean; /** * Rebuild `runtime.channel` from a trusted configurable bag. * * Returns `undefined` unless the auth user source provider matches the binding * and a transport can be constructed. */ export declare function resolveRuntimeChannel(configurable: Record | undefined, transportFactory?: (provider: string) => ChannelTransport | undefined): RuntimeChannel | undefined; //# sourceMappingURL=binding.d.ts.map