import type { AnyElysia } from 'elysia'; import { type Unsubscribable } from './links/internal/observable'; import type { EdenClientError, EdenClientOptions, EdenClientRuntime, OperationContext, OperationType } from './links/internal/operation'; import type { EdenResponse } from './request'; import type { EdenRequestParams } from './resolve'; export type EdenSubscriptionObserver = { onStarted: () => void; onData: (value: TValue) => void; onError: (err: TError) => void; onStopped: () => void; onComplete: () => void; }; export type EdenCreateClient = (options: EdenClientOptions) => EdenClient; export type EdenClientInternalRequestOptions = { type: OperationType; context?: OperationContext; params: EdenRequestParams; }; export type EdenClientPromisifyRequestOptions = EdenClientInternalRequestOptions & { signal?: AbortSignal; }; export type EdenClientRequestOptions = { context?: OperationContext; signal?: AbortSignal; }; export declare class EdenClient { private readonly links; readonly runtime: EdenClientRuntime; private requestId; constructor(options: EdenClientOptions); private $request; private promisifyRequest; query(params: EdenRequestParams, options?: EdenClientRequestOptions): Promise; mutation(params: EdenRequestParams, options?: EdenClientRequestOptions): Promise; subscription(params: EdenRequestParams, options?: Partial>> & EdenClientRequestOptions): Unsubscribable; } //# sourceMappingURL=client.d.ts.map