import { A as DataTransformer, F as decodeWire, I as defaultCRPCTransformer, L as encodeWire, M as WireCodec, N as createTaggedTransformer, O as CombinedDataTransformer, P as dateWireCodec, R as getTransformer, a as HttpProcedureCall, c as InferHttpInput, i as HttpErrorCode, j as DataTransformerOptions, k as DATE_CODEC_TAG, l as InferHttpOutput, n as HttpClientError, o as HttpRouteInfo, r as HttpClientFromRouter, s as HttpRouteMap, t as HttpClient, u as isHttpClientError, z as identityTransformer } from "../http-types-zsMHb_QN.js";
import { A as HttpInputArgs, C as ReservedMutationOptions, D as VanillaMutation, E as VanillaAction, F as replaceUrlParam, M as RESERVED_KEYS, N as buildSearchParams, O as HttpClientOptions, P as executeHttpRequest, S as ReservedInfiniteQueryOptions, T as StaticQueryOptsParam, _ as IsPaginated, a as BaseInfiniteQueryOptsParam, b as PaginatedFnMeta, c as ConvexMutationKey, d as ConvexQueryMeta, f as EmptyObject, g as InfiniteQueryInput, h as FnMeta, i as BaseConvexQueryOptions, j as HttpProxyBaseOptions, k as HttpFormValue, l as ConvexQueryHookOptions, m as FUNC_REF_SYMBOL, n as BaseConvexActionOptions, o as ConvexActionKey, p as ExtractPaginatedItem, r as BaseConvexInfiniteQueryOptions, s as ConvexInfiniteQueryMeta, t as AuthType, u as ConvexQueryKey, v as Meta, w as ReservedQueryOptions, x as PaginationOpts, y as MutationVariables } from "../types-YHpe0rsb.js";
import { FunctionArgs, FunctionReference } from "convex/server";

//#region src/crpc/auth-error.d.ts
/**
 * Auth Mutation Error
 *
 * Framework-agnostic error class for Better Auth mutations.
 */
/**
 * Error thrown when a Better Auth mutation fails.
 * Contains the original error details from Better Auth.
 */
declare class AuthMutationError extends Error {
  /** Error code from Better Auth (e.g., 'INVALID_PASSWORD', 'EMAIL_ALREADY_REGISTERED') */
  code?: string;
  /** HTTP status code */
  status: number;
  /** HTTP status text */
  statusText: string;
  constructor(authError: {
    message?: string;
    status: number;
    statusText: string;
    code?: string;
  });
}
/**
 * Type guard to check if an error is an AuthMutationError.
 */
declare function isAuthMutationError(error: unknown): error is AuthMutationError;
//#endregion
//#region src/crpc/error.d.ts
/**
 * Client error codes (subset of CRPC codes for client-side use)
 */
type ClientErrorCode = 'UNAUTHORIZED' | 'FORBIDDEN' | 'NOT_FOUND' | 'BAD_REQUEST' | 'TOO_MANY_REQUESTS';
/**
 * Client-side CRPC error.
 * Mirrors backend CRPCError pattern with typed error codes.
 */
declare class CRPCClientError extends Error {
  readonly name = "CRPCClientError";
  readonly code: ClientErrorCode;
  readonly functionName: string;
  constructor(opts: {
    code: ClientErrorCode;
    functionName: string;
    message?: string;
  });
}
/** Type guard for CRPCClientError */
declare const isCRPCClientError: (error: unknown) => error is CRPCClientError;
/**
 * Unified check for any deterministic CRPC error (Convex or HTTP).
 * Use in retry logic to skip retrying client errors (4xx).
 */
declare const isCRPCError: (error: unknown) => boolean;
/** Type guard for specific error code */
declare const isCRPCErrorCode: (error: unknown, code: ClientErrorCode) => error is CRPCClientError;
/** Default unauthorized detection - checks UNAUTHORIZED code */
declare const defaultIsUnauthorized: (error: unknown) => boolean;
//#endregion
//#region src/crpc/query-options.d.ts
/**
 * Query options factory for Convex query function subscriptions.
 * Requires `convexQueryClient.queryFn()` set as the default `queryFn` globally.
 */
declare function convexQuery<T extends FunctionReference<'query'>>(funcRef: T, args?: FunctionArgs<T> | 'skip', meta?: Meta, opts?: {
  skipUnauth?: boolean;
}): BaseConvexQueryOptions<T> & {
  meta: ConvexQueryMeta;
};
/**
 * Query options factory for Convex action functions.
 * Actions are NOT reactive - they follow normal TanStack Query semantics.
 *
 * @example
 * ```ts
 * useQuery(convexAction(api.ai.generate, { prompt }))
 * ```
 *
 * @example With additional options (use spread):
 * ```ts
 * useQuery({
 *   ...convexAction(api.files.process, { fileId }),
 *   staleTime: 60_000
 * });
 * ```
 */
declare function convexAction<T extends FunctionReference<'action'>>(funcRef: T, args?: FunctionArgs<T> | 'skip', meta?: Meta, opts?: {
  skipUnauth?: boolean;
}): BaseConvexActionOptions<T> & {
  meta: ConvexQueryMeta;
};
/**
 * Infinite query options factory for paginated Convex queries.
 * Server-safe (non-hook) - can be used in RSC.
 *
 * Uses flat { cursor, limit } input like tRPC.
 */
declare function convexInfiniteQueryOptions<T extends FunctionReference<'query'>>(funcRef: T, args: Record<string, unknown> | 'skip', opts?: BaseInfiniteQueryOptsParam<T> & Record<string, unknown>, meta?: Meta): BaseConvexInfiniteQueryOptions<T> & Record<string, unknown>;
//#endregion
export { AuthMutationError, AuthType, BaseConvexActionOptions, BaseConvexInfiniteQueryOptions, BaseConvexQueryOptions, BaseInfiniteQueryOptsParam, CRPCClientError, CombinedDataTransformer, ConvexActionKey, ConvexInfiniteQueryMeta, ConvexMutationKey, ConvexQueryHookOptions, ConvexQueryKey, ConvexQueryMeta, DATE_CODEC_TAG, DataTransformer, DataTransformerOptions, EmptyObject, ExtractPaginatedItem, FUNC_REF_SYMBOL, FnMeta, HttpClient, HttpClientError, HttpClientFromRouter, HttpClientOptions, HttpErrorCode, HttpFormValue, HttpInputArgs, HttpProcedureCall, HttpProxyBaseOptions, HttpRouteInfo, HttpRouteMap, InferHttpInput, InferHttpOutput, InfiniteQueryInput, IsPaginated, Meta, MutationVariables, PaginatedFnMeta, PaginationOpts, RESERVED_KEYS, ReservedInfiniteQueryOptions, ReservedMutationOptions, ReservedQueryOptions, StaticQueryOptsParam, VanillaAction, VanillaMutation, WireCodec, buildSearchParams, convexAction, convexInfiniteQueryOptions, convexQuery, createTaggedTransformer, dateWireCodec, decodeWire, defaultCRPCTransformer, defaultIsUnauthorized, encodeWire, executeHttpRequest, getTransformer, identityTransformer, isAuthMutationError, isCRPCClientError, isCRPCError, isCRPCErrorCode, isHttpClientError, replaceUrlParam };