import { AnyElysia, MaybeArray, MaybePromise } from 'elysia'; import { E as EdenFetchError } from './errors-DQ0_HKez.cjs'; import { InferRouteOptions, InferRouteBody } from './infer.cjs'; import { N as Nullish, H as HTTPHeaders } from './http-BobyyETH.cjs'; import { D as DataTransformerOptions } from './transformer-BrEsAU6i.cjs'; import { EdenWS } from './ws.cjs'; declare function noop(): void; type Noop = typeof noop; type TeardownLogic = Unsubscribable | Noop | void; type UnaryFunction = (source: TSource) => TReturn; type MonoTypeOperatorFunction = OperatorFunction; type OperatorFunction = UnaryFunction, Subscribable>; type Observer = { next: (value: TValue) => void; error: (err: TError) => void; complete: () => void; }; type Unsubscribable = { unsubscribe(): void; }; type InferObservableValue = TObservable extends Observable ? TValue : never; declare function isObservable(x: unknown): x is Observable; declare function pipeReducer(previousValue: any, next: UnaryFunction): any; declare function promisifyObservable(observable: Observable): { promise: Promise; abort: typeof noop; }; declare class ObservableAbortError extends Error { constructor(message?: string); } declare class Subscribable { onSubscribe: (observer: Observer) => TeardownLogic; constructor(onSubscribe: (observer: Observer) => TeardownLogic); subscribe(observer?: Partial>): Unsubscribable; } declare class Observable extends Subscribable { constructor(onSubscribe: (observer: Observer) => TeardownLogic); pipe(): Observable; pipe(op1: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction): Observable; } /** * Flexible format for defining headers. */ type EdenRequestHeaders = MaybeArray MaybePromise)> | MaybePromise; /** * Callback function to invoke before the request is made. The fetch options can be modified, * or new options can be returned. */ type EdenOnRequest = (path: string, options: RequestInit) => MaybePromise; /** * Callback function to invoke after a response is received. Output value is ignored. */ type EdenOnResponse = (response: Response) => MaybePromise; /** * General, untyped response. */ type EdenResponse = ({ data: null; error: EdenFetchError; status: number; statusText: string; } | { data: any; error: null; status: number; statusText: string; }) & (TRaw extends true ? EdenRawResponse : {}); /** * Raw response is __not__ JSON serializable, so only available when asked. */ type EdenRawResponse = { headers: Headers; response: Response; statusText: string; }; /** * Options to customize the fetch behavior for the request. */ type EdenRequestOptions = { /** */ domain?: T | string; /** */ transformer?: DataTransformerOptions; /** * Fetch options. */ fetch?: Omit; /** * `fetch` implementation. */ fetcher?: typeof fetch; /** * Custom headers object that's processed and forwarded to the fetch options. */ headers?: EdenRequestHeaders; /** * Callback to invoke prior to fetching the request. */ onRequest?: MaybeArray; /** * Callback to invoke after fetching the request. */ onResponse?: MaybeArray; /** */ keepDomain?: boolean; /** */ raw?: TRaw; /** * Context to pass to the operation links. */ context?: OperationContext; }; declare function streamResponse(response: Response): AsyncGenerator; declare function parseResponse(response: Response, params?: EdenRequestParams): Promise<{ data: { data: null; error: EdenFetchError; status: number; statusText: string; } | { data: any; error: null; status: number; statusText: string; }; error: null; status: number; statusText?: undefined; } | { data: null; error: EdenFetchError; status: number; statusText?: undefined; } | { data: null; error: EdenFetchError; status: number; statusText: string; } | { data: any; error: null; status: number; statusText: string; }>; /** * Parameters that control how an Eden request is resolved. */ type EdenRequestParams = EdenRequestOptions & { /** */ domain?: T | string; /** * Fetch options for a "query" method, i.e. "GET", "HEAD", "OPTIONS". */ options?: InferRouteOptions; /** * The request body for "POST", "PATCH", etc. requests. */ body?: InferRouteBody; /** */ path?: string; /** */ method?: string; }; declare function resolveEdenRequest(params: EdenRequestParams): Promise | EdenWS>; type OperationType = 'query' | 'mutation' | 'subscription'; interface OperationContext extends Record { } type Operation = { id: number; type: OperationType; params: EdenRequestParams; context: OperationContext; }; type OperationLink = (options: OperationLinkOptions) => OperationResultObservable; type OperationLinkOptions = { operation: Operation; next: (operation: Operation) => OperationResultObservable; }; type OperationResultObservable = Observable, EdenClientError>; type OperationResultObserver = Observer, EdenClientError>; type OperationResultEnvelope = (EdenResultMessage | EdenSuccessResponse) & { context?: OperationContext; }; type EdenResultMessage = { type: 'started'; data?: never; } | { type: 'stopped'; data?: never; } | { data: T; type: 'data'; }; type EdenSuccessResponse = { data: T; type?: 'data'; }; type EdenLink = ((opts: EdenClientRuntime) => OperationLink) & TMeta; type EdenClientRuntime = {}; type EdenClientOptions = { links: EdenLink[]; }; /** * Type representing errors that can occur during Eden client operations. * This is the union of all possible error types from the Elysia route schema. * * @template _T - The Elysia app type (reserved for future use with route-specific error types) */ type EdenClientError<_T extends AnyElysia = AnyElysia> = EdenFetchError | Error; declare class OperationError extends Error { constructor(message?: string); } export { type EdenRawResponse as A, streamResponse as B, parseResponse as C, type EdenRequestParams as D, type EdenRequestOptions as E, resolveEdenRequest as F, type InferObservableValue as I, type MonoTypeOperatorFunction as M, type Noop as N, type Operation as O, Subscribable as S, type TeardownLogic as T, type UnaryFunction as U, type EdenLink as a, type OperationResultEnvelope as b, type OperatorFunction as c, type Observer as d, type Unsubscribable as e, promisifyObservable as f, ObservableAbortError as g, Observable as h, isObservable as i, type OperationType as j, type OperationContext as k, type OperationLink as l, type OperationLinkOptions as m, type OperationResultObservable as n, type OperationResultObserver as o, pipeReducer as p, type EdenResultMessage as q, type EdenSuccessResponse as r, type EdenClientRuntime as s, type EdenClientOptions as t, type EdenClientError as u, OperationError as v, type EdenRequestHeaders as w, type EdenOnRequest as x, type EdenOnResponse as y, type EdenResponse as z };