export type ApiResult = { data: R; errors: null; status: number; success: true; } | { data: null; errors: string[]; status: number; success: false; }; export type ApiParameters

= [ params: P extends undefined ? never : P, baseUrl: string, header: Record | undefined ]; export type ApiPromise = Promise>; export type ApiMethod = "GET" | "POST" | "PUT" | "DELETE"; export type ApiCall = (params: P extends undefined ? never : P) => ApiPromise; export type ApiDefinition = (params: P) => (baseUrl: string, headers?: Record) => ApiPromise; export declare const apiGet: (url: string, params?: P) => (baseUrl: string, headers?: Record) => ApiPromise; export declare const apiPost: (url: string, params?: P) => (baseUrl: string, headers?: Record) => ApiPromise; export declare const apiPut: (url: string, params?: P) => (baseUrl: string, headers?: Record) => ApiPromise; export declare const apiDelete: (url: string, params?: P) => (baseUrl: string, headers?: Record) => ApiPromise; export declare const namedErrorsReducer: (result: Record, current: string) => Record; export declare const mapErrorsByName: (errors: string[]) => Record; export declare const wrapFetch: (fn: (...args: ApiParameters

) => ApiPromise) => ApiDefinition;