import { ReactNode } from 'react'; import { AthenaUiRootClient } from './auth-provider.js'; /** * Root client held in React context. * Structural {@link AthenaUiRootClient} only — naming `AthenaClient` here * reintroduces TS2589 for consumers of {@link useAthena}. */ export type AthenaRootClient = AthenaUiRootClient; /** * Provider for the root Athena client. * * @param client - The root Athena client * @param children - The children to render * @returns The root Athena client provider */ export declare function AthenaClientProvider({ client, children, }: { client: AthenaRootClient; children: ReactNode; }): import("react").JSX.Element; /** * Root Athena client from the nearest {@link AthenaProviders}. * Identity invariant: `Object.is(useAthena(), client)` for the provider `client` prop. * * @param T - The type of the client * @returns The root Athena client */ export declare function useAthena(): T; /** * Optional root Athena client from the nearest {@link AthenaProviders}. * * @param T - The type of the client * @returns The root Athena client or null */ export declare function useAthenaOptional(): T | null;