import { BetterFetchError, BetterFetchOption } from 'better-auth/client';
export type AuthQueryError = BetterFetchError & {
    retryAfterMs?: number;
};
export declare const REAUTHENTICATION_REQUIRED_ERROR_CODES: Set<string>;
/** Return whether Better Auth requires the user to authenticate again. */
export declare function isReauthenticationRequiredError(error: unknown): boolean;
export declare function createAuthQueryFetchOptions(fetchOptions: BetterFetchOption | undefined, signal: AbortSignal): BetterFetchOption & {
    throw: true;
};
export declare function isRetryableAuthQueryError(error: unknown): boolean;
export declare function shouldRetryAuthQuery(failureCount: number, error: unknown): boolean;
export declare function authQueryRetryDelay(failureCount: number, error: unknown): number;
export declare function createAuthQueryRetryOptions(isServer: () => boolean): {
    readonly retry: (failureCount: number, error: unknown) => boolean;
    readonly retryDelay: typeof authQueryRetryDelay;
};
