export type EffectiveConfigReason = 'config_not_found' | 'role_not_allowed' | 'user_not_in_mailbox' | 'feature_flag_off' | 'effective';
export interface EffectiveConfigResponse {
    enabled: boolean;
    reason: EffectiveConfigReason;
    workspaceConnectorId?: string | null;
}
/**
 * Resolves whether the signed-in user can use Slack in this mailbox.
 * Backend evaluates: SM-admin config exists, this user's role is in
 * allow-list, mailbox is in scope, LD flag is on. Returns one of
 * five reason codes (Phase 9 contract).
 *
 * `smId` is required by the backend (`sm_id` query param). Pre-2026-06-09
 * the hook called the endpoint without it and 422'd every time — the
 * caller (SlackConversationTab) now sources smId from SlackContext.
 *
 * Lives on the agent side because every Slack panel mount calls it;
 * admin only consumes it from the Configure page to preview gating.
 */
export declare function useSlackEffectiveConfig(smId: string): import('@tanstack/react-query').UseQueryResult<EffectiveConfigResponse, Error>;
//# sourceMappingURL=effective-config.d.ts.map