import { AthenaAuthBindings } from '@xylex-group/athena'; import { AuthorizationSnapshotView } from './authorization-snapshot.js'; import { SessionUiState } from '../../../types/session.js'; export type { AuthorizationSnapshotView } from './authorization-snapshot.js'; export { ATHENA_AUTHORIZATION_SNAPSHOT_INVALID, AuthorizationSnapshotInvalidError } from './authorization-snapshot.js'; export type AuthorizationSnapshotStatus = "pending" | "success" | "error" | "unavailable"; export declare function authBindingsFromRoot(athena: { auth: unknown; } | null | undefined): AthenaAuthBindings | undefined; export declare function resolveAuthorizationSnapshotGate(input: { authorizationAvailable: boolean; sessionStatus: SessionUiState["status"]; }): { enabled: false; status: AuthorizationSnapshotStatus; } | { enabled: true; }; export declare function useAuthorizationSnapshot(options?: { enabled?: boolean; }): { error: Error | null; snapshot: AuthorizationSnapshotView | null; status: AuthorizationSnapshotStatus; };