import { F as FarmIntegrationAPI, f as FarmIntegrationAPIOperation } from './integration-api-BbaiokCC.mjs'; import { b as FarmClientCacheKey, a as FarmClientCacheEntry } from './client-cache-2Iu9DTnN.mjs'; import { DefinedCacheKey, RouteDataCacheKey, InferCacheKeyData } from './cache.mjs'; import { y as FarmAPIStream, S as RoutePathParams } from './route-C8RuFaMN.mjs'; /** Instance defaults, resolved once per call before cache lookup or dispatch. */ type ClientHeaders = Record | (() => Record | Promise>); /** Metadata shared by app-route and integration execution attempts. */ type ClientRequestEvent = { requestId: string; method: string; path: string; attempt: number; timestamp: number; }; type ClientResponseEvent = ClientRequestEvent & { response?: Response; data?: TData; error?: Error; ok?: boolean; status?: number; }; /** Observers compose with per-call hooks; return values never replace the result. */ type ClientLifecycleHooks = { onRequest?: (event: ClientRequestEvent) => void; onResponse?: (data: TData | undefined, error: Error | null, event: ClientResponseEvent) => void; onError?: (error: Error) => void; }; /** * Small per-call integration metadata. When sent from a browser, values are * client-controlled and should be validated before authorization decisions. */ type IntegrationClientData = Record; type IntegrationClientOptions = ClientLifecycleHooks & { baseURL?: string; headers?: ClientHeaders; credentials?: RequestCredentials; /** Whole-call deadline in milliseconds; 0 disables it. */ timeoutMs?: number; /** HTTP transport, including server fallback; never replaces local dispatch. */ fetch?: typeof globalThis.fetch; data?: IntegrationClientData; isServer?: false | undefined; }; type IntegrationRequestOptionsBase = ClientLifecycleHooks & { headers?: Record; signal?: AbortSignal; timeoutMs?: number; credentials?: RequestCredentials; data?: IntegrationClientData; }; type IntegrationClientRequestOptions = IntegrationRequestOptionsBase; type IntegrationServerRequestLike = Request | { url?: string; headers?: HeadersInit; }; type IntegrationServerClientOptions = Omit & { isServer: true; request?: IntegrationServerRequestLike; forwardHeaders?: boolean | readonly string[]; }; type IntegrationServerClientRequestOptions = IntegrationRequestOptionsBase & { baseURL?: string; request?: IntegrationServerRequestLike; forwardHeaders?: boolean | readonly string[]; }; declare class IntegrationClientError extends Error { readonly status: number; readonly response: Response; readonly data: TData | undefined; constructor(message: string, response: Response, data?: TData); } type IntegrationOperationResult | Error> = { data: TData | null; error: TError | null; }; type ExtractOperationBody = T extends { __types?: { body: infer TBody; }; } ? TBody : never; type ExtractOperationQuery = T extends { __types?: { query: infer TQuery; }; } ? TQuery : never; type ExtractOperationResponse = T extends { __types?: { response: infer TResponse; }; } ? TResponse : unknown; type InferIntegrationOperationBody = ExtractOperationBody; type InferIntegrationOperationQuery = ExtractOperationQuery; type InferIntegrationOperationResponse = ExtractOperationResponse; type IsNever$1 = [T] extends [never] ? true : false; type OperationInput = IsNever$1> extends true ? IsNever$1> extends true ? {} : { query?: ExtractOperationQuery; } : IsNever$1> extends true ? { body: ExtractOperationBody; } : { body: ExtractOperationBody; query?: ExtractOperationQuery; }; type ClientOperation = (options?: OperationInput, requestOptions?: IntegrationClientRequestOptions>) => Promise>>; type ServerOperation = (options?: OperationInput, requestOptions?: IntegrationServerClientRequestOptions>) => Promise>>; type IsUnion = T extends any ? ([U] extends [T] ? false : true) : never; type SingleKey = [T] extends [never] ? never : IsUnion extends true ? never : T; type ExtractAPIFromSource = TSource extends { api?: infer TAPI; } ? NonNullable extends FarmIntegrationAPI ? NonNullable : never : TSource extends FarmIntegrationAPI ? TSource : never; type SourceKeysWithAPI> = { [K in keyof TSources]: [ExtractAPIFromSource] extends [never] ? never : K; }[keyof TSources]; type IsServerRegisteredOperation = T extends { isServer: true; } ? true : false; type ClientOperationKeys = { [K in keyof TAPI]: TAPI[K] extends FarmIntegrationAPIOperation ? IsServerRegisteredOperation extends true ? never : K : never; }[keyof TAPI]; type ClientNamespaceShape = { [K in keyof TAPI as TAPI[K] extends FarmIntegrationAPIOperation ? IsServerRegisteredOperation extends true ? never : K : K]: TAPI[K] extends FarmIntegrationAPIOperation ? ClientOperation : TAPI[K] extends Record ? IntegrationAPIToClient : never; }; type SingleClientOperationKey = Exclude> extends never ? SingleKey> : never; type IntegrationAPIToClient = TAPI extends FarmIntegrationAPIOperation ? ClientOperation : TAPI extends Record ? [SingleClientOperationKey] extends [never] ? ClientNamespaceShape : SingleClientOperationKey extends keyof TAPI ? ClientOperation]> & ClientNamespaceShape : ClientNamespaceShape : never; type IntegrationClient> = { [K in SourceKeysWithAPI]: IntegrationAPIToClient>; }; type IntegrationClientRoot> = { integrations: IntegrationClient; }; type ServerOperationKeys = { [K in keyof TAPI]: TAPI[K] extends FarmIntegrationAPIOperation ? K : never; }[keyof TAPI]; type ServerNamespaceShape = { [K in keyof TAPI]: TAPI[K] extends FarmIntegrationAPIOperation ? ServerOperation : TAPI[K] extends Record ? IntegrationAPIToServerClient : never; }; type SingleServerOperationKey = Exclude> extends never ? SingleKey> : never; type IntegrationAPIToServerClient = TAPI extends FarmIntegrationAPIOperation ? ServerOperation : TAPI extends Record ? [SingleServerOperationKey] extends [never] ? ServerNamespaceShape : SingleServerOperationKey extends keyof TAPI ? ServerOperation]> & ServerNamespaceShape : ServerNamespaceShape : never; type IntegrationServerClient> = { [K in SourceKeysWithAPI]: IntegrationAPIToServerClient>; }; type IntegrationServerClientRoot> = { integrations: IntegrationServerClient; }; type IntegrationClientAliases> = IntegrationClient & { integrations: IntegrationClient; }; type IntegrationServerClientAliases> = IntegrationServerClient & { integrations: IntegrationServerClient; }; type IntegrationAPI> = IntegrationClientAliases & { server: (options: Omit) => IntegrationServerClientAliases; }; type IntegrationClients> = { api: IntegrationServerClientAliases; apiClient: IntegrationClientAliases; }; declare function createIntegrationClient>(sources: { integrations: TSources; }, options: IntegrationServerClientOptions): IntegrationServerClientAliases; declare function createIntegrationClient>(sources: { integrations: TSources; }, options?: IntegrationClientOptions): IntegrationClientAliases; declare function createIntegrationClient>(sources: TSources, options: IntegrationServerClientOptions): IntegrationServerClient; declare function createIntegrationClient>(sources: TSources, options?: IntegrationClientOptions): IntegrationClient; declare function integrationsClient>(): IntegrationClientAliases; declare function integrationsClient>(options: IntegrationClientOptions): IntegrationClientAliases; declare function integrationsServer>(): IntegrationServerClientAliases; declare function integrationsServer>(options: Omit): IntegrationServerClientAliases; declare function createIntegrationServerClient>(sources: { integrations: TSources; }): IntegrationServerClientAliases; declare function createIntegrationServerClient>(sources: TSources): IntegrationServerClient; declare function createIntegrationServerClient>(sources: { integrations: TSources; }, options: Omit): IntegrationServerClientAliases; declare function createIntegrationServerClient>(sources: TSources, options: Omit): IntegrationServerClient; declare function createIntegrationApi>(sources: { integrations: TSources; }, options?: IntegrationClientOptions): IntegrationAPI; declare function createIntegrationClients>(clientOptions?: IntegrationClientOptions, serverOptions?: Omit): IntegrationClients; declare function createIntegrationClients>(sources: TSources, clientOptions?: IntegrationClientOptions, serverOptions?: Omit): IntegrationClients; declare function createIntegrationClients>(sources: { integrations: TSources; }, clientOptions?: IntegrationClientOptions, serverOptions?: Omit): IntegrationClients; declare function createIntegrations>(clientOptions?: IntegrationClientOptions, serverOptions?: Omit): IntegrationClients; declare function createIntegrations>(sources: TSources, clientOptions?: IntegrationClientOptions, serverOptions?: Omit): IntegrationClients; declare function createIntegrations>(sources: { integrations: TSources; }, clientOptions?: IntegrationClientOptions, serverOptions?: Omit): IntegrationClients; declare function getIntegrationAPIManifest(): Record; declare function integrationClients>(clientOptions?: IntegrationClientOptions, serverOptions?: Omit): IntegrationClients; declare function integrationClients>(sources: TSources, clientOptions?: IntegrationClientOptions, serverOptions?: Omit): IntegrationClients; declare function integrationClients>(sources: { integrations: TSources; }, clientOptions?: IntegrationClientOptions, serverOptions?: Omit): IntegrationClients; type APIRouteManifest = readonly { readonly path: string; readonly methods: readonly string[]; }[]; declare const FARM_API_ROUTE_REF_SYMBOL: unique symbol; declare const FARM_API_ROUTE_META_SYMBOL: unique symbol; type APIRouteRefMetadata = { path: string; method: string; baseURL: string; sameOrigin: boolean; }; type APIClientOptions = ClientLifecycleHooks & { /** Generated path/method metadata required for dynamic shorthand and $params scopes. */ routes?: APIRouteManifest; baseURL?: string; headers?: ClientHeaders; credentials?: RequestCredentials; /** Whole-call deadline in milliseconds. 0 (default) disables it. */ timeoutMs?: number; /** HTTP transport only; local server dispatch does not use it. */ fetch?: typeof globalThis.fetch; cacheDefaults?: CacheOptions; integrations?: IntegrationClientOptions; }; type APIClientWithoutIntegrationsOptions = Omit & { integrations: false; }; type ServerAPIClientOptions = { integrations?: Omit; }; type ServerAPIClientWithoutIntegrationsOptions = Omit & { integrations: false; }; type StatusPhase = "idle" | "pending" | "success" | "error" | "revalidating" | "invalidated"; type StatusEvent = { phase: StatusPhase; requestId: string; method: "GET" | "HEAD" | "QUERY" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS"; key: string; input?: unknown; data?: TData; error?: TError; isBackground?: boolean; timestamp: number; }; type CacheKey = string & { readonly __farmCacheData?: TData; }; type APIResult = { data: TData | undefined; error: TError | null; key: CacheKey; }; declare class APIClientError extends Error { readonly code: TCode; readonly data: TData; readonly status: TStatus; readonly response?: Response; constructor(code: TCode, data: TData, options: { status: TStatus; message: string; response?: Response; }); } type APIClientSystemError = APIClientError<"http_error", unknown, number> | APIClientError<"aborted" | "timeout", unknown, 0> | APIClientError<"network_error", unknown, 0>; type RequestEvent = { requestId: string; method: StatusEvent["method"]; key: string; path: string; input?: unknown; attempt: number; timestamp: number; }; type ResponseEvent = { requestId: string; method: StatusEvent["method"]; key: string; path: string; input?: unknown; attempt: number; timestamp: number; response?: Response; data?: TData; error?: TError; ok?: boolean; status?: number; }; type CachePolicy = "cache-first" | "network-only" | "stale-while-revalidate"; type CacheScope = "client" | "shared"; type CacheOptions = { key?: FarmClientCacheKey; policy?: CachePolicy; /** Select client-local or public shared storage. Identity-carrying requests always stay local. */ scope?: CacheScope; staleTime?: number; gcTime?: number; dedupeMs?: number; /** Allow the configured client cache persistence adapter to store this read. */ persist?: boolean; }; type RetryAttemptContext = { /** Zero-based index of the attempt that just failed. */ attempt: number; /** Upper-case HTTP method of the request. */ method: string; /** Response status, or undefined when the request never produced a response. */ status?: number; error: Error; }; type RetryOptions = { count?: number; delay?: number | ((attempt: number) => number); /** * Decide whether a failed attempt should be retried. * * Defaults to transient failures of idempotent requests only: replaying a * POST or PATCH whose response was lost duplicates the write it performed. * Supply this to opt a specific call in or out. */ shouldRetry?: (context: RetryAttemptContext) => boolean; }; type InvalidateTarget = FarmClientCacheKey | { key: FarmClientCacheKey; } | { path: string; method?: "GET" | "HEAD" | "QUERY" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS"; input?: unknown; } | [CallableRouteRef, unknown?]; type InvalidateOptions = InvalidateTarget[] | { targets: InvalidateTarget[]; refetch?: boolean; }; type OptimisticUpdate = [CallableRouteRef, unknown, (prev: any) => any] | [CacheKey | DefinedCacheKey | string, (prev: any) => any]; type OptimisticOptions = { update: TUpdates & NormalizeOptimisticUpdates; rollbackOnError?: boolean; }; type ClientOptions = { key?: CacheKey | FarmClientCacheKey; signal?: AbortSignal; /** Override the instance deadline; 0 disables it for this call. */ timeoutMs?: number; cache?: CacheOptions; retry?: RetryOptions; invalidate?: InvalidateOptions; optimistic?: OptimisticOptions; onRequest?: (event: RequestEvent) => void; onResponse?: (data: TData | undefined, error: TError | null, event: ResponseEvent) => void; onSuccess?: (data: TData) => void; onError?: (err: TError) => void; onSettled?: (data?: TData, err?: TError | null) => void; onStatus?: (event: StatusEvent) => void; }; type AnyRouteRef = (...args: any[]) => any; type RouteRef = { readonly __farmRouteInput: TInput; readonly __farmRouteData: TData; }; type CallableRouteRef = AnyRouteRef & RouteRef; type InferRouteInput = TRoute extends { readonly __farmRouteInput: infer TInput; } ? TInput : never; type InferRouteData = TRoute extends { readonly __farmRouteData: infer TData; } ? TData : never; type NormalizeOptimisticUpdate = TUpdate extends readonly [ infer TRoute, unknown, (prev: any) => any ] ? TRoute extends RouteRef ? [ TRoute, InferRouteInput | undefined, (prev: InferRouteData | undefined) => InferRouteData ] : never : TUpdate extends readonly [infer TKey, (prev: any) => any] ? TKey extends DefinedCacheKey ? [TKey, (prev: InferCacheKeyData | undefined) => InferCacheKeyData] : TKey extends CacheKey ? [TKey, (prev: TData | undefined) => TData] : TKey extends string ? [TKey, (prev: unknown) => unknown] : never : never; type NormalizeOptimisticUpdates = { [K in keyof TUpdates]: NormalizeOptimisticUpdate; }; type TypedEndpointLike = { __types: { body: any; query: any; response: any; errors?: any; }; }; type Simplify = { [K in keyof T]: T[K]; } & {}; type IsNever = [T] extends [never] ? true : false; type IsAny = 0 extends 1 & T ? true : false; type RequiredKeys = T extends object ? { [K in keyof T]-?: {} extends Pick ? never : K; }[keyof T] : never; type BodyInputProp = IsNever extends true ? {} : IsAny extends true ? { body?: TValue; } : undefined extends TValue ? { body?: TValue; } : { body: TValue; }; type QueryInputProp = IsNever extends true ? {} : IsAny extends true ? { query?: TValue; } : undefined extends TValue ? { query?: TValue; } : RequiredKeys extends never ? { query?: TValue; } : { query: TValue; }; type HasRequiredKeys = RequiredKeys extends never ? false : true; type InferEndpointBody = T extends { __types: { inputBody: infer TInputBody; }; } ? TInputBody : T extends { __types: { body: infer TBody; }; } ? TBody : never; type InferEndpointInput = T extends { __types: { query: infer TQuery; }; } ? Simplify> & QueryInputProp & (T extends { __routeParams: infer P; } ? keyof P extends never ? { params?: never; } : { params: P; } : {}) & (T extends { __types: { inputHeaders: infer H; }; } ? IsNever extends true ? {} : RequiredKeys extends never ? { headers?: H; } : { headers: H; } : {})> : T extends { __routeParams: infer P; } ? keyof P extends never ? { params?: never; } : { params: P; } : {}; type InferEndpointOutput = T extends { __types: { response: infer R; }; } ? R extends { readonly __farmStreamItem: infer TItem; } ? FarmAPIStream : R : any; type InferEndpointError = T extends { __types: { errors: infer TErrors; }; } ? keyof TErrors extends never ? Error : { [TCode in keyof TErrors]: TErrors[TCode] extends { data: infer TData; status: infer TStatus extends number; } ? APIClientError : never; }[keyof TErrors] | APIClientSystemError : Error; type EndpointCall = (...args: HasRequiredKeys> extends true ? [ options: InferEndpointInput, clientOptions?: ClientOptions, InferEndpointError, TUpdates> ] : [ options?: InferEndpointInput, clientOptions?: ClientOptions, InferEndpointError, TUpdates> ]) => Promise, InferEndpointError>>; type EndpointMethod = EndpointCall & RouteRef, InferEndpointInput>; type DynamicKeys = Extract; type MethodKeys = "get" | "head" | "query" | "post" | "put" | "patch" | "delete" | "options"; type OwnMethodKeys = { [K in Extract]: T[K] extends TypedEndpointLike | ((...args: any[]) => any) ? K : never; }[Extract]; type WithRouteParams = T & { __routeParams: P; }; type UnionToIntersection = (U extends unknown ? (v: U) => void : never) extends (v: infer I) => void ? I : never; type ChildMethods = { [K in DynamicKeys]: OwnMethodKeys; }[DynamicKeys]; type MethodEndpoints = (M extends OwnMethodKeys ? WithRouteParams : never) | { [K in DynamicKeys]: M extends keyof T[K] ? WithRouteParams> : never; }[DynamicKeys]; type DistributedCall = T extends unknown ? EndpointCall : never; type ScopedMethod = UnionToIntersection> & EndpointCall & RouteRef, InferEndpointInput>; type RouterToClient = { [K in Exclude>]: T[K] extends TypedEndpointLike ? EndpointMethod> : T[K] extends Record ? RouterToClient : {})> : EndpointMethod>; } & { [M in OwnMethodKeys | ChildMethods]: M extends ChildMethods ? ScopedMethod> : M extends keyof T ? EndpointMethod> : never; } & ([DynamicKeys] extends [never] ? {} : { $params: UnionToIntersection<{ [K in DynamicKeys]: (params: RoutePathParams) => RouterToClient; }[DynamicKeys]>; }); type RouteAPIClient> = RouterToClient; type APIClient, TIntegrations extends Record = {}> = RouteAPIClient & IntegrationClientRoot; type ServerAPIClient, TIntegrations extends Record = {}> = TEndpoints & IntegrationServerClientRoot; type ApiClients, TIntegrations extends Record = {}> = { api: RouteAPIClient & IntegrationServerClientRoot; apiClient: APIClient; }; /** * Define one shared pair of typed callers. Import only generated route metadata * here, not endpoint modules. `api` dispatches locally during a Farm request; * `apiClient` uses HTTP. Both return the same app-route APIResult shape. */ declare function createApiClients>(options: APIClientWithoutIntegrationsOptions): { api: RouteAPIClient; apiClient: RouteAPIClient; }; declare function createApiClients, TIntegrations extends Record = {}>(options?: APIClientOptions): ApiClients; /** * Create a typed RPC client for Farm.js API routes * * Returns a nested proxy that supports: * - api.hello.get({ query: { name: 'World' } }) * - api['auth/login'].post({ body: { email: '...', password: '...' } }) * - api.users.get({ query: { limit: '10' } }) * - api.integrations.billing.checkout({ body: { priceId: 'price_...' } }) * * @example * ```typescript * import { createAPIClient } from 'farm/client'; * import type { APIRouter } from '@/api'; * import type { AppIntegrations } from '@/lib/integrations'; * * export const api = createAPIClient(); * * // Use it (nested property access) * const result = await api.hello.get({ query: { name: 'World' } }); * if (result.error) console.error(result.error); * else console.log(result.data); * * // Or with string keys for nested paths * const result = await api['auth/login'].post({ * body: { email: 'test@example.com', password: 'pass123' } * }); * * // Integration APIs live under a reserved namespace. * const checkout = await api.integrations.billing.checkout({ * body: { priceId: 'price_123' } * }); * ``` */ declare function createAPIClient>(options: APIClientWithoutIntegrationsOptions): RouteAPIClient; declare function createAPIClient, TIntegrations extends Record = {}>(options?: APIClientOptions): APIClient; declare function isAPIRouteRef(value: unknown): value is CallableRouteRef; declare function getAPIRouteRefMetadata(value: unknown): APIRouteRefMetadata | null; /** * Server-side API client that calls endpoints directly as functions * No HTTP overhead for app endpoints, and registered integration routes can be exposed at * api.integrations.* where Farm can dispatch them directly to the integration handler. * * @example * ```typescript * import { createServerAPIClient } from 'farm/client'; * import type { AppIntegrations } from '@/lib/integrations'; * * export const api = createServerAPIClient<{}, AppIntegrations>({}); * * const result = await api.integrations.billing.status(); * ``` */ declare function createServerAPIClient>(endpoints: TEndpoints): TEndpoints; declare function createServerAPIClient>(endpoints: TEndpoints, options: ServerAPIClientWithoutIntegrationsOptions): TEndpoints; declare function createServerAPIClient, TIntegrations extends Record = {}>(endpoints: TEndpoints, options?: ServerAPIClientOptions): ServerAPIClient; declare const API_CACHE_REFETCH: unique symbol; type CacheEntry = FarmClientCacheEntry & { [API_CACHE_REFETCH]?: () => void; }; type OptimisticSnapshot = { key: string; stack: OptimisticStack; layer: OptimisticLayer; }; type OptimisticStack = { entry?: CacheEntry; layers: OptimisticLayer[]; renderedEntry?: CacheEntry; invalidatedAt?: number; }; type OptimisticLayer = { updaters: Array<(prev: any) => any>; updatedAt: number; staleAt: number; gcAt?: number; committed?: boolean; }; /** * @internal Apply key-targeted optimistic updates to the shared client cache * for a server-function mutation. Route-reference update tuples need an API * caller's route metadata and are skipped here; use structured cache keys. */ declare function applyServerFnOptimisticUpdates(updates: readonly OptimisticUpdate[], now?: number): OptimisticSnapshot[]; /** * @internal Settle a server-function mutation's optimistic snapshots with the * API client's semantics: commit on success, rollback on failure with * `rollbackOnError`, and mark-stale on failure without it. */ declare function settleServerFnOptimisticUpdates(snapshots: OptimisticSnapshot[], outcome: "commit" | "rollback" | "invalidate"): void; /** * @internal Resolve a server-function mutation's invalidate targets to cache * keys. Route-reference and path targets need an API caller's identity and are * skipped; use structured cache keys. Keys are applied through the shared * invalidation bus, matching server-declared `invalidates`. */ declare function resolveServerFnInvalidateTargets(invalidate: InvalidateOptions): string[]; export { type IntegrationClientAliases as $, type APIRouteRefMetadata as A, createServerAPIClient as B, type CacheKey as C, applyServerFnOptimisticUpdates as D, settleServerFnOptimisticUpdates as E, FARM_API_ROUTE_REF_SYMBOL as F, resolveServerFnInvalidateTargets as G, type APIRouteManifest as H, type InvalidateTarget as I, type ClientHeaders as J, type ClientLifecycleHooks as K, type ClientRequestEvent as L, type ClientResponseEvent as M, createIntegrationClient as N, type OptimisticUpdate as O, IntegrationClientError as P, createIntegrationApi as Q, type RetryOptions as R, type ServerAPIClientOptions as S, createIntegrationClients as T, createIntegrations as U, createIntegrationServerClient as V, getIntegrationAPIManifest as W, integrationClients as X, integrationsClient as Y, integrationsServer as Z, type IntegrationClient as _, FARM_API_ROUTE_META_SYMBOL as a, type IntegrationClientRoot as a0, type IntegrationClientOptions as a1, type IntegrationClientRequestOptions as a2, type IntegrationAPI as a3, type IntegrationClients as a4, type IntegrationClientData as a5, type IntegrationOperationResult as a6, type InferIntegrationOperationBody as a7, type InferIntegrationOperationQuery as a8, type InferIntegrationOperationResponse as a9, type IntegrationServerClient as aa, type IntegrationServerClientAliases as ab, type IntegrationServerClientOptions as ac, type IntegrationServerClientRequestOptions as ad, type IntegrationServerClientRoot as ae, type IntegrationServerRequestLike as af, type APIClientOptions as b, type APIClientWithoutIntegrationsOptions as c, type ServerAPIClientWithoutIntegrationsOptions as d, type StatusPhase as e, type StatusEvent as f, type APIResult as g, APIClientError as h, type APIClientSystemError as i, type RequestEvent as j, type ResponseEvent as k, type CachePolicy as l, type CacheScope as m, type CacheOptions as n, type RetryAttemptContext as o, type InvalidateOptions as p, type OptimisticOptions as q, type ClientOptions as r, type RouteAPIClient as s, type APIClient as t, type ServerAPIClient as u, type ApiClients as v, createApiClients as w, createAPIClient as x, isAPIRouteRef as y, getAPIRouteRefMetadata as z };