import type { ReactNode } from 'react'; import type { ZodType } from 'zod'; import type { UniCmsError } from '../errors.js'; import type { ExternalUserLoginCredentials, ExternalUserLoginResult, ExternalUserRecord, UniCmsClient, UniCmsClientOptions } from '../types.js'; export type UniCmsQueryStatus = 'error' | 'idle' | 'loading' | 'success'; export type UniCmsQueryKey = ReadonlyArray | string; export type UniCmsRefetchOnMount = 'always' | 'never' | 'stale'; export type UniCmsInvalidateInput = UniCmsQueryKey | ((key: string) => boolean) | undefined; export interface UniCmsQueryState { data?: TData; error?: TError; isFetching: boolean; status: UniCmsQueryStatus; updatedAt: number; } export interface UniCmsQueryDefaults { enabled?: boolean; refetchOnMount?: UniCmsRefetchOnMount; staleTimeMs?: number; } export interface UniCmsQueryCache { clear(): void; deleteState(key: string): void; getState(key: string): UniCmsQueryState | undefined; keys(): Iterable; setState(key: string, state: UniCmsQueryState): void; subscribe(key: string, listener: () => void): () => void; } export interface UniCmsProviderProps { cache?: UniCmsQueryCache; children: ReactNode; client?: UniCmsClient; clientOptions?: UniCmsClientOptions; defaultQueryOptions?: UniCmsQueryDefaults; namespace?: string; serializeQueryKey?: (key: UniCmsQueryKey) => string; } export interface UniCmsProviderContextValue { cache: UniCmsQueryCache; client: UniCmsClient; defaultQueryOptions: Required; inFlight: Map>; invalidateQueries: (input?: UniCmsInvalidateInput) => void; toCacheKey: (key: UniCmsQueryKey) => string; } export interface UseUniCmsQueryOptions { enabled?: boolean; initialData?: TData; onError?: (error: TError) => void; onSuccess?: (data: TData) => void; queryFn: (context: { client: UniCmsClient; signal: AbortSignal; }) => Promise; queryKey: UniCmsQueryKey; refetchOnMount?: UniCmsRefetchOnMount; select?: (data: TData) => TSelected; staleTimeMs?: number; } export interface UseUniCmsQueryResult { data: TData | undefined; error: TError | null; invalidate: () => void; isError: boolean; isFetching: boolean; isLoading: boolean; isSuccess: boolean; refetch: () => Promise; status: UniCmsQueryStatus; updatedAt: number; } export interface UseUniCmsMutationOptions { invalidateQueries?: UniCmsQueryKey[] | ((data: TData, variables: TVariables) => UniCmsQueryKey[] | undefined); mutationFn: (context: { client: UniCmsClient; signal: AbortSignal; }, variables: TVariables) => Promise; onError?: (error: TError, variables: TVariables) => void; onSuccess?: (data: TData, variables: TVariables) => void; } export interface UseUniCmsMutationResult { data: TData | undefined; error: TError | null; isError: boolean; isPending: boolean; isSuccess: boolean; mutate: (variables: TVariables) => void; mutateAsync: (variables: TVariables) => Promise; reset: () => void; status: 'error' | 'idle' | 'pending' | 'success'; } export interface UseExternalUsersLoginMutationOptions extends Omit, ExternalUserLoginCredentials, TError>, 'mutationFn'> { userSchema?: ZodType; } //# sourceMappingURL=types.d.ts.map