import type { NotifyDestination } from "@mono-agent/agent-contracts"; import type { MonoAgentAppConfigInput } from "./app-config.js"; import type { ChannelId, MonoAgentAppLogger } from "./channels.js"; import type { SeenConversation } from "./seen-conversations.js"; export type { NotifyDestination } from "@mono-agent/agent-contracts"; export interface ResolveNotifyDestinationsInput { readonly input: MonoAgentAppConfigInput; readonly artifactDir: string; /** App-lifetime cached sightings; omitted by standalone callers for a direct scan. */ readonly seenDestinations?: readonly SeenConversation[]; /** Whether a given channel is currently running (only running channels can deliver). */ readonly isRunning: (id: ChannelId) => boolean; readonly logger?: MonoAgentAppLogger | undefined; } /** * The conversations a native cron/webhook notification may be delivered to, used by * the app to infer a destination when a job/endpoint sets no explicit * `notifyConversationId`. Combines two id-free sources so the operator never types a conversationId: * - conversations the agent has actually handled (run-artifact summaries), filtered to * notify-capable + running channels, newest-first; * - the adapter allowlist entries (when not allow-all), surfaced as candidates the agent * can reach even before it has conversed there (covers a fresh single-user agent). * WhatsApp is excluded (no notify hook yet) so the agent never picks an undeliverable id. */ export declare function resolveNotifyDestinations(opts: ResolveNotifyDestinationsInput): Promise; /** Whether a run artifact can contribute a Telegram/Slack native-notify candidate. */ export declare function isNotifyDestinationConversationId(conversationId: string | undefined): boolean; //# sourceMappingURL=notify-destinations.d.ts.map