import type { ProviderRuntimeStatus, ProviderRuntimeSurface } from '../provider-runtime.js'; import type { ChannelSurface } from '../types.js'; import type { BuiltinChannelRuntimeDeps, ManagedSurface } from './shared.js'; export declare function asProviderRuntimeSurface(surface: ChannelSurface): ProviderRuntimeSurface | null; export declare function isManagedSurface(surface: ChannelSurface): surface is ManagedSurface; /** * The provider connection manager's view of a surface, or null when this host * wired no manager. Typed rather than `unknown` because health is now read off * it: an untyped status is one a caller can only guess at, and guessing is what * put a dead channel's `running: false` into a metadata blob nobody consulted. */ export declare function providerRuntimeStatus(deps: BuiltinChannelRuntimeDeps, surface: ProviderRuntimeSurface): ProviderRuntimeStatus | null; export declare function providerEnvBacked(surface: ProviderRuntimeSurface): boolean; export declare function resolveSlackBotToken(deps: BuiltinChannelRuntimeDeps): Promise; export declare function resolveSlackAppToken(deps: BuiltinChannelRuntimeDeps): Promise; export declare function resolveDiscordBotToken(deps: BuiltinChannelRuntimeDeps): Promise; export declare function resolveNtfyToken(deps: BuiltinChannelRuntimeDeps): Promise; /** * Turn a configured secret VALUE into the secret it names. * * Exported because credential presence and credential resolution are different * facts, and the account describer needs both: a config value such as * `goodvibes://secrets/goodvibes/TELEGRAM_BOT_TOKEN` is present whether or not * that key exists in the store THIS process reads, and the difference between * those two is the difference between a channel that can send and one that * cannot. Returns null when a reference resolves to nothing, resolveSecretInput * logs and returns null rather than throwing. */ export declare function resolveBuiltinConfigSecret(deps: BuiltinChannelRuntimeDeps, value: unknown): Promise; //# sourceMappingURL=surfaces.d.ts.map