import type { Config } from '@xopcai/xopc/config/schema.js'; import type { FeishuConfig } from '../schema/config-schema.js'; export interface ResolvedFeishuAccount { accountId: string; name?: string; enabled: boolean; configured: boolean; appId?: string; appSecret?: string; domain: 'feishu' | 'lark' | string; connectionMode: 'websocket' | 'webhook'; webhookHost?: string; webhookPort?: number; webhookPath?: string; verificationToken?: string; encryptKey?: string; dmPolicy: 'pairing' | 'allowlist' | 'open' | 'disabled'; groupPolicy: 'open' | 'disabled' | 'allowlist'; allowFrom?: Array; groupAllowFrom?: Array; requireMention?: boolean; historyLimit: number; textChunkLimit: number; renderMode?: 'auto' | 'raw' | 'card'; reactionNotifications?: 'off' | 'own' | 'all'; /** Per-chat inbound debounce (ms); undefined = use channel plugin default. */ inboundDebounceMs?: number; /** Opt-in: only `true` enables Feishu streaming (Thinking… + incremental updates). */ streaming: boolean; blockStreamingCoalesce?: { enabled?: boolean; minChars?: number; idleMs?: number; }; tools?: FeishuConfig['tools']; actions?: FeishuConfig['actions']; dynamicAgentCreation?: FeishuConfig['dynamicAgentCreation']; } export declare function listFeishuAccountIds(cfg: Config): string[]; export declare function resolveFeishuAccount(cfg: Config, accountId?: string | null): ResolvedFeishuAccount;