import type { Config } from '@xopcai/xopc/config/schema.js'; import type { ChannelSecurityContext } from '@xopcai/xopc/channels/plugin-types.js'; import type { ResolvedFeishuAccount } from '../../state/accounts.js'; import type { FeishuInboundWork } from '../reliability/inbound-pipeline.js'; export interface FeishuSocketModeMonitorDeps { account: ResolvedFeishuAccount; config: Config; enqueueInbound: (work: FeishuInboundWork) => Promise; /** Used when `account.inboundDebounceMs` is unset. */ inboundDebounceDefaultMs: number; abortSignal: AbortSignal; security: { checkAccess: (ctx: ChannelSecurityContext) => { allowed: boolean; reason?: string; } | undefined; }; } export declare function createFeishuSocketModeMonitor(deps: FeishuSocketModeMonitorDeps): { run: () => Promise; };