export declare enum Method { HEAD = "HEAD", GET = "GET", PUT = "PUT", POST = "POST", PATCH = "PATCH", DELETE = "DELETE" } export declare type Endpoint = Readonly<{ method: Method; url: string | ((params: P) => string); headers?: Record; transformResponseData?: (data: any) => R; }>; export declare type ExtractEndpointResponse = E extends Endpoint ? R : E extends Endpoint ? R : never; export declare type ExtractEndpointVariables = E extends Endpoint ? V : E extends Endpoint ? V : never; export declare type ExtractEndpointParams = E extends Endpoint ? P : never;