import type { Key } from 'react'; import type { ApiType, ErrorCallback, ErrorData, ErrorNotifyType, RequestMessage, SuccessCallback, SuccessNotifyType } from './types'; export declare function castToObj(key: string, val?: any): Record; export declare function changeObjValueToUndefined(obj?: Record): Record; interface FormatResultOptions { api?: ApiType; delimiters?: [string, string]; currentData?: Record; } export declare function processFormatResult({ api, currentData, delimiters }: FormatResultOptions): (response?: T | undefined) => any; interface ErrorOptions { onErrorNotify?: ErrorNotifyType; message?: RequestMessage; onError?: ErrorCallback; } export declare function processError({ onErrorNotify, message, onError }: ErrorOptions): (error: ErrorData, params: any) => void; interface SuccessOptions { onSuccessNotify?: SuccessNotifyType; message?: RequestMessage; onSuccess?: SuccessCallback; } export declare function processSuccess({ onSuccessNotify, message, onSuccess }: SuccessOptions): (data: any, params: any) => void; interface GetAxiosOptions { api?: ApiType; contextData?: Record; data?: Record; params?: Record; delimiters?: [string, string]; } export declare function getAxiosOptions({ api, contextData, data, params, delimiters }: GetAxiosOptions): { url: any; data: any; params: any; replaceData?: boolean | undefined; method?: import("axios").Method | undefined; baseURL?: string | undefined; transformRequest?: import("axios").AxiosTransformer | import("axios").AxiosTransformer[] | undefined; transformResponse?: import("axios").AxiosTransformer | import("axios").AxiosTransformer[] | undefined; headers?: any; paramsSerializer?: ((params: any) => string) | undefined; timeout?: number | undefined; timeoutErrorMessage?: string | undefined; withCredentials?: boolean | undefined; adapter?: import("axios").AxiosAdapter | undefined; auth?: import("axios").AxiosBasicCredentials | undefined; responseType?: import("axios").ResponseType | undefined; xsrfCookieName?: string | undefined; xsrfHeaderName?: string | undefined; onUploadProgress?: ((progressEvent: any) => void) | undefined; onDownloadProgress?: ((progressEvent: any) => void) | undefined; maxContentLength?: number | undefined; validateStatus?: ((status: number) => boolean) | null | undefined; maxBodyLength?: number | undefined; maxRedirects?: number | undefined; socketPath?: string | null | undefined; httpAgent?: any; httpsAgent?: any; proxy?: false | import("axios").AxiosProxyConfig | undefined; cancelToken?: import("axios").CancelToken | undefined; decompress?: boolean | undefined; }; interface ServiceFnOptions { api: ApiType; contextData?: Record; defaultData?: Record; defaultParams?: Record; delimiters?: [string, string]; } export declare function serviceFn({ api, contextData, defaultData, defaultParams, delimiters }: ServiceFnOptions): (data?: Record | undefined, params?: Record | undefined, others?: Record | undefined) => Promise | { url: any; data: any; params: any; replaceData?: boolean | undefined; method?: import("axios").Method | undefined; baseURL?: string | undefined; transformRequest?: import("axios").AxiosTransformer | import("axios").AxiosTransformer[] | undefined; transformResponse?: import("axios").AxiosTransformer | import("axios").AxiosTransformer[] | undefined; headers?: any; paramsSerializer?: ((params: any) => string) | undefined; timeout?: number | undefined; timeoutErrorMessage?: string | undefined; withCredentials?: boolean | undefined; adapter?: import("axios").AxiosAdapter | undefined; auth?: import("axios").AxiosBasicCredentials | undefined; responseType?: import("axios").ResponseType | undefined; xsrfCookieName?: string | undefined; xsrfHeaderName?: string | undefined; onUploadProgress?: ((progressEvent: any) => void) | undefined; onDownloadProgress?: ((progressEvent: any) => void) | undefined; maxContentLength?: number | undefined; validateStatus?: ((status: number) => boolean) | null | undefined; maxBodyLength?: number | undefined; maxRedirects?: number | undefined; socketPath?: string | null | undefined; httpAgent?: any; httpsAgent?: any; proxy?: false | import("axios").AxiosProxyConfig | undefined; cancelToken?: import("axios").CancelToken | undefined; decompress?: boolean | undefined; }; export {};