import { BetterFetchOption, BetterFetchResponse } from '@better-fetch/fetch'; import { j as Router, X as UnionToIntersection, b as Endpoint, U as HasRequiredKeys } from './router-BEp4ze3Q.js'; type HasRequired = HasRequiredKeys extends true ? HasRequiredKeys extends false ? HasRequiredKeys extends false ? HasRequiredKeys extends false ? false : true : true : true : true; type InferContext = T extends (ctx: infer Ctx) => any ? Ctx extends object ? Ctx : never : never; interface ClientOptions extends BetterFetchOption { baseURL: string; } type WithRequired = T & { [P in K extends string ? K : never]-?: T[P extends keyof T ? P : never]; }; type WithoutServerOnly> = { [K in keyof T]: T[K] extends Endpoint ? O extends { metadata: { SERVER_ONLY: true; }; } ? never : T[K] : T[K]; }; type RequiredOptionKeys = (undefined extends C["body"] ? {} : { body: true; }) & (undefined extends C["query"] ? {} : { query: true; }) & (undefined extends C["params"] ? {} : { params: true; }); declare const createClient: (options: ClientOptions) => ; } ? R["endpoints"] : R> extends { [key: string]: infer T_1; } ? T_1 extends Endpoint ? { [key in T_1["options"]["method"] extends "GET" ? T_1["path"] : `@${T_1["options"]["method"] extends string ? Lowercase : never}${T_1["path"]}`]: T_1; } : {} : {}> extends infer T ? { [K_1 in keyof T]: UnionToIntersection; } ? R["endpoints"] : R> extends { [key: string]: infer T_1; } ? T_1 extends Endpoint ? { [key in T_1["options"]["method"] extends "GET" ? T_1["path"] : `@${T_1["options"]["method"] extends string ? Lowercase : never}${T_1["path"]}`]: T_1; } : {} : {}>[K_1]; } : never, K extends keyof OPT, C extends InferContext>(path: K, ...options: HasRequired extends true ? [WithRequired, keyof RequiredOptionKeys>] : [BetterFetchOption?]) => Promise>>>; export { type ClientOptions, type RequiredOptionKeys, createClient };