import type { AutomationRouteBinding } from '../../automation/routes.js'; import type { SharedApprovalRecord } from '../../control-plane/index.js'; import type { ProviderRuntimeStatus, ProviderRuntimeSurface } from '../provider-runtime.js'; import type { ChannelAccountRecord, ChannelCapabilityDescriptor, ChannelDirectoryEntry, ChannelDirectoryQueryOptions, ChannelOperatorActionDescriptor, ChannelRuntimeObservation, ChannelSurface, ChannelToolDescriptor } from '../types.js'; import type { ChannelPlugin } from '../plugin-registry.js'; import type { BuiltinChannelRuntimeDeps, ManagedSurface } from './shared.js'; interface BuiltinPluginRegistrationContext { readonly deps: BuiltinChannelRuntimeDeps; readonly buildAccount: (surface: ChannelSurface) => Promise; readonly resolveAccount: (surface: ChannelSurface, accountId: string) => Promise; readonly listCapabilities: (surface: ChannelSurface) => Promise; readonly listTools: (surface: ChannelSurface) => ChannelToolDescriptor[]; readonly runTool: (surface: ChannelSurface, toolId: string, input?: Record) => Promise; readonly listOperatorActions: (surface: ChannelSurface) => ChannelOperatorActionDescriptor[]; readonly runOperatorAction: (surface: ChannelSurface, actionId: string, input?: Record) => Promise; readonly buildContractHooks: (surface: ChannelSurface) => Pick; readonly buildProductHooks: (surface: ChannelSurface) => Pick; readonly lookupDirectory: (surface: ManagedSurface, query: string, options?: ChannelDirectoryQueryOptions) => Promise; readonly lookupRouteDirectory: (surface: ManagedSurface, query: string, options?: ChannelDirectoryQueryOptions) => Promise; readonly notifyApprovalViaRouter: (surface: ChannelSurface, approval: SharedApprovalRecord, binding: AutomationRouteBinding) => Promise; readonly providerRuntimeStatus: (surface: ProviderRuntimeSurface) => ProviderRuntimeStatus | null; /** * What this node can see of the surface's live path. Supplied by the runtime * rather than read here, because the two things that can answer it, the * Telegram supervisor and the provider connection manager, are the runtime's * to hold. */ readonly observeRuntime: (surface: ChannelSurface) => ChannelRuntimeObservation; } export declare function registerBuiltinChannelPlugins(context: BuiltinPluginRegistrationContext): void; export {}; //# sourceMappingURL=plugins.d.ts.map