import type { SeamHttp, SeamHttpEndpoints, SeamHttpOptionsWithClientSessionToken } from '@seamapi/http'; import { QueryClient } from '@tanstack/react-query'; import { type JSX, type PropsWithChildren } from 'react'; export interface SeamQueryContext { client: SeamHttp | null; endpointClient: SeamHttpEndpoints | null; clientOptions?: SeamQueryProviderClientOptions | undefined; publishableKey?: string | undefined; userIdentifierKey?: string | undefined; clientSessionToken?: string | undefined; consoleSessionToken?: string | undefined; workspaceId?: string | undefined; queryKeyPrefix?: string | undefined; } export type SeamQueryProviderProps = SeamQueryProviderPropsWithClient | SeamQueryProviderPropsWithPublishableKey | SeamQueryProviderPropsWithClientSessionToken | SeamQueryProviderPropsWithConsoleSessionToken; export interface SeamQueryProviderPropsWithClient extends SeamQueryProviderBaseProps { client: SeamHttp; queryKeyPrefix: string; } export interface SeamQueryProviderPropsWithPublishableKey extends SeamQueryProviderBaseProps, SeamQueryProviderClientOptions { publishableKey: string; userIdentifierKey?: string; } export interface SeamQueryProviderPropsWithClientSessionToken extends SeamQueryProviderBaseProps, SeamQueryProviderClientOptions { clientSessionToken: string; } export interface SeamQueryProviderPropsWithConsoleSessionToken extends SeamQueryProviderBaseProps, SeamQueryProviderClientOptions { consoleSessionToken: string; workspaceId?: string | undefined; } interface SeamQueryProviderBaseProps extends PropsWithChildren { queryClient?: QueryClient | undefined; onSessionUpdate?: (client: SeamHttp) => void; } type SeamClientOptions = SeamHttpOptionsWithClientSessionToken; export type SeamQueryProviderClientOptions = Pick; export declare function SeamQueryProvider({ children, onSessionUpdate, queryClient, ...props }: SeamQueryProviderProps): JSX.Element; export declare const seamContext: import("react").Context; export declare function useSeamQueryContext(): SeamQueryContext; export {};