/** * Channel config — what a stored channel is (SH1 part 3). One record per * connected channel: which platform, which agent, the credential (encrypted at * rest by the store), and the line policy. */ import type { LinePolicy } from '../gate.js'; export type ChannelKind = 'telegram' | 'slack' | 'discord' | 'whatsapp' | 'sms'; export interface ChannelConfig { /** Unique id, e.g. `telegram-acme`. */ readonly id: string; readonly channel: ChannelKind; /** Which agent answers (profile slug). */ readonly profileId: string; /** Platform secrets (bot token, OAuth, etc.). Encrypted at rest by the store. */ readonly credentials: Readonly>; /** Personal ↔ business policy. */ readonly line?: LinePolicy; readonly enabled?: boolean; } /** Credential keys each channel requires (used for validation + CLI mapping). */ export declare const REQUIRED_CREDENTIALS: Record; export declare const CHANNEL_KINDS: ChannelKind[]; export declare function isChannelKind(value: string): value is ChannelKind; /** Returns an error string if the config is invalid, else null. */ export declare function validateChannelConfig(config: ChannelConfig): string | null; //# sourceMappingURL=config.d.ts.map