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<void>;
    /** 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<void>;
};
