export declare const AUTH_DESIGN_DECISION_SLOTS: readonly ["provider", "domain", "callback", "state", "layer", "type-exception", "global-scope"]; export type AuthDesignDecisionSlot = (typeof AUTH_DESIGN_DECISION_SLOTS)[number]; export type AuthDesignDecisionState = "design-required" | "approval-required" | "approved"; export type AuthDesignDecisionSummary = { readonly state: AuthDesignDecisionState; readonly status: AuthDesignDecisionState; readonly approval: "not-accepted" | "accepted"; readonly answeredSlots: readonly AuthDesignDecisionSlot[]; readonly missingSlots: readonly AuthDesignDecisionSlot[]; readonly conflictedSlots: readonly AuthDesignDecisionSlot[]; readonly allowImplementation: boolean; readonly allowWorkflowProgression: boolean; }; export type AuthDesignDecisionRoute = { readonly kind: "design-required"; readonly decision: AuthDesignDecisionSummary; readonly nextSlot: AuthDesignDecisionSlot; readonly block: string; } | { readonly kind: "clarification-required"; readonly decision: AuthDesignDecisionSummary; readonly nextSlot: AuthDesignDecisionSlot; readonly block: string; } | { readonly kind: "approval-required"; readonly decision: AuthDesignDecisionSummary; readonly block: string; } | { readonly kind: "approved"; readonly decision: AuthDesignDecisionSummary; readonly block: string; } | { readonly kind: "stopped"; readonly block: string; } | { readonly kind: "released"; }; export declare function isAuthSecurityRequest(message: string): boolean; export declare function initialAuthDesignDecision(): AuthDesignDecisionSummary; export declare class AuthDesignDecisionTracker { private readonly sessions; hasActiveSession(sessionId: string): boolean; isApproved(sessionId: string): boolean; route(sessionId: string, message: string): AuthDesignDecisionRoute | undefined; private renderActive; } export declare function isAuthDesignDecisionRoute(value: AuthDesignDecisionRoute | undefined): value is Exclude;