/** * `ownware channel` command logic (SH1 part 3) — the paste/click layer over the * store. Handlers are pure (take a store, return data/text) so they're testable; * the bin (bin.ts) wires argv + a FileChannelStore to them. * * Usage: * ownware channel add telegram --profile acme --token 123:abc [--line business] * ownware channel add slack --profile acme --bot-token xoxb-… --app-token xapp-… * ownware channel list * ownware channel remove telegram-acme * ownware channel start [--gateway http://127.0.0.1:3011] [--token …] */ import { type ChannelKind } from './config.js'; import type { ChannelStore } from './store.js'; import type { LinePolicy } from '../gate.js'; import type { PairingStore } from '../pairing.js'; import type { WhatsAppDeliveryStore } from '../whatsapp/delivery-store.js'; export interface AddChannelArgs { readonly channel: ChannelKind; readonly profileId: string; readonly id?: string; readonly credentials: Record; readonly line?: LinePolicy; } export declare function channelAdd(store: ChannelStore, args: AddChannelArgs): Promise<{ id: string; }>; export declare function channelList(store: ChannelStore): Promise>; export declare function channelRemove(store: ChannelStore, id: string): Promise; export interface ChannelCliDeps { /** * Pairing store shared with the running channels (the file-backed * store — `approve` runs in a separate process from the runner). */ readonly pairing?: PairingStore; /** Durable WhatsApp state shared with the webhook host. */ readonly whatsappDelivery?: WhatsAppDeliveryStore; } /** * Dispatch a `channel` subcommand (add/list/remove/approve/handoff). Returns text * output. `start` is handled by the bin (it runs the long-lived * ChannelRunner). */ export declare function runChannelCli(argv: string[], store: ChannelStore, deps?: ChannelCliDeps): Promise; //# sourceMappingURL=cli.d.ts.map