import { SlackTargetKind } from '../../../features/slack/types/wire';
/**
 * MSW handlers for the Slack agent + effective-config endpoints.
 *
 * Mirrors handlers/user-auth.ts:
 *   - In-memory state per hiverConvId, mutated by POST/PATCH/DELETE.
 *   - VITE_SLACK_MOCK_STATE env var can pre-seed scenarios:
 *       { "<hiverConvId>": { "linked": true, "channelName": "ops" } }
 *   - VITE_SLACK_EFFECTIVE env var forces the effective-config
 *     response, e.g. {"enabled":false,"reason":"config_not_found"}.
 *
 * Default first-load: effective-config enabled + no linked thread →
 * panel renders the Ready state and the Start buttons. Click flow
 * mutates state in-memory; reload returns the new linked state.
 */
interface MockMessageOverrides {
    text?: string;
    isSelf?: boolean;
}
interface MockConvSeed {
    linked?: boolean;
    channelName?: string;
    channelId?: string;
    /** 'channel' seeds the B4 all-threads view; defaults to 'thread'. */
    targetKind?: SlackTargetKind;
    messages?: MockMessageOverrides[];
}
export declare const handlers: import('msw').HttpHandler[];
/**
 * Test helpers — reset state between test cases.
 */
export declare const __resetSlackMockState: () => void;
export declare const __seedSlackLinkedConv: (hiverConvId: string, seed: MockConvSeed) => void;
export {};
//# sourceMappingURL=slack.d.ts.map