export declare enum Method { HEAD = "HEAD", GET = "GET", PUT = "PUT", POST = "POST", PATCH = "PATCH", DELETE = "DELETE" } export declare function methodCanContainBody(method: Method): boolean; export declare function methodWithoutEffects(method: Method): boolean; export declare type Endpoint = Readonly<{ _?: V; method: Method; url: string | ((params: P) => string); headers?: Record; transformResponseData?: (data: any) => R; }>; export declare type AnyEndpoint = Endpoint; 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;