import type AuthApi from "../auth/AuthApi"; import type { ServiceApi } from "../Service"; import type { StandaloneClient } from "../ServiceClient"; import ServiceError from "../ServiceError"; interface ApiRequestEvent { type: "request"; } interface ApiResponseEvent { type: "response"; req: ApiRequestEvent; } interface ApiErrorEvent { type: "error"; req: ApiRequestEvent; err: ServiceError; } type ApiClientEvent = { domain: string; method: string; payload: unknown; ts: number; } & (ApiResponseEvent | ApiRequestEvent | ApiErrorEvent); declare const ApiClient: { on(eventType: T, fn: (event: ApiClientEvent & { type: T; }) => void): (event: ApiClientEvent & { type: T; }) => void; off(eventType: T, fn: (event: ApiClientEvent & { type: T; }) => void): void; createAuthClient(url: string): AuthApi["handlers"] & Omit; create, N extends { type: string; } | undefined = undefined, D extends string = T["domain"]>(domain: D, url: string, onNotify?: (msg: N) => void): T["handlers"] & Omit; }; export default ApiClient;