import { AthenaAuthCapabilitiesSource } from '@xylex-group/athena/browser'; /** * Server-known identity for the first Auth UI frame. * Seeded into `athena.auth.session` — not a second React identity store. */ export type AthenaAuthCapabilitiesSeed = { passkey?: { onboarding?: boolean | null; } | null; passkeys?: boolean | null; source: AthenaAuthCapabilitiesSource; status: "known" | "partial" | "unknown"; }; export type AthenaInitialAuthState = { capabilities?: AthenaAuthCapabilitiesSeed; session: unknown; status: "authenticated"; } | { capabilities?: AthenaAuthCapabilitiesSeed; session: null; status: "unauthenticated"; }; /** * Cold-start seed of the Athena JS session controller. * * Must run during provider render (not in an effect) so session-consuming * children see authenticated/unauthenticated on their first paint. * Skips the Node SSR pass of a module-level browser client so concurrent * requests cannot leak identity through a shared store. * * @param client - The client * @param state - The state * @returns Whether the seed was successful */ export declare function seedAthenaAuthSession(client: unknown, state: AthenaInitialAuthState | null | undefined): boolean; /** * Cold-start seed of `athena.auth.capabilities`. * No-op unless the store is still unknown (same contract as session hydrate). * * @param client - The client * @param state - The state * @returns Whether the seed was successful */ export declare function seedAthenaAuthCapabilities(client: unknown, state: AthenaInitialAuthState | null | undefined): boolean; interface InitialAuthSessionSnapshot { error: null; session: unknown; status: AthenaInitialAuthState["status"]; } /** * Cached capability seed for `useSyncExternalStore` getServerSnapshot. */ export declare function snapshotFromInitialCapabilities(state: AthenaInitialAuthState | null | undefined): AthenaAuthCapabilitiesSeed | null; export declare function snapshotFromInitialAuthState(state: AthenaInitialAuthState | null | undefined): InitialAuthSessionSnapshot | null; export declare const AthenaInitialAuthStateProvider: import('react').Provider; export declare function useAthenaInitialAuthState(): AthenaInitialAuthState | null; export {};