import { Mock } from "vitest"; type SlackHandler = (args: unknown) => Promise; type SlackProviderMonitor = (params: { botToken: string; appToken: string; abortSignal: AbortSignal; }) => Promise; type SlackTestState = { config: Record; sendMock: Mock<(...args: unknown[]) => Promise>; replyMock: Mock<(...args: unknown[]) => unknown>; updateLastRouteMock: Mock<(...args: unknown[]) => unknown>; reactMock: Mock<(...args: unknown[]) => unknown>; readAllowFromStoreMock: Mock<(...args: unknown[]) => Promise>; upsertPairingRequestMock: Mock<(...args: unknown[]) => Promise>; }; export declare const getSlackTestState: () => SlackTestState; type SlackClient = { auth: { test: Mock<(...args: unknown[]) => Promise>>; }; conversations: { info: Mock<(...args: unknown[]) => Promise>>; replies: Mock<(...args: unknown[]) => Promise>>; history: Mock<(...args: unknown[]) => Promise>>; }; users: { info: Mock<(...args: unknown[]) => Promise<{ user: { profile: { display_name: string; }; }; }>>; }; assistant: { threads: { setStatus: Mock<(...args: unknown[]) => Promise<{ ok: boolean; }>>; }; }; reactions: { add: (...args: unknown[]) => unknown; }; }; export declare const getSlackHandlers: () => Map | undefined; export declare const getSlackClient: () => SlackClient | undefined; export declare const flush: () => Promise; export declare function waitForSlackEvent(name: string): Promise; export declare function startSlackMonitor(monitorSlackProvider: SlackProviderMonitor, opts?: { botToken?: string; appToken?: string; }): { controller: AbortController; run: Promise; }; export declare function getSlackHandlerOrThrow(name: string): Promise; export declare function stopSlackMonitor(params: { controller: AbortController; run: Promise; }): Promise; export declare function runSlackEventOnce(monitorSlackProvider: SlackProviderMonitor, name: string, args: unknown, opts?: { botToken?: string; appToken?: string; }): Promise; export declare function runSlackMessageOnce(monitorSlackProvider: SlackProviderMonitor, args: unknown, opts?: { botToken?: string; appToken?: string; }): Promise; export declare const defaultSlackTestConfig: () => { agents: { list: { id: string; workspace: string; }[]; }; messages: { responsePrefix: string; ackReaction: string; ackReactionScope: string; }; channels: { slack: { dm: { enabled: boolean; policy: string; allowFrom: string[]; }; groupPolicy: string; }; }; }; export declare function resetSlackTestState(config?: Record): void; export {};