import {URLString} from "../base"; export declare type HTTPResponsePaging = { count: string; page_max: number; page_no: number; results_per_page: number; } export declare type HTTPResponsePayload = { access: any; data: T[]; paging: HTTPResponsePaging; result: 'valid' | 'error'; time: number; } export declare type HTTPResponsePayloadList = HTTPResponsePayload & { data: T[]; paging: HTTPResponsePaging; } export declare type HTTPResponseError = { code: number; error: string; exception: string; message?: string; request: string; result: 'redirect' | 'error'; token: string; time: number; } export declare type HTTPResponseRedirect = HTTPResponseError & { redirect_code: number; redirect_url: URLString; } export declare type HTTPResponse = HTTPResponseError | HTTPResponseRedirect | HTTPResponsePayload export declare type HTTPResponseList = HTTPResponseError | HTTPResponseRedirect | HTTPResponsePayloadList export declare type UseResourceTuples = [HTTPResponse | null, (T?: T) => Promise>, boolean]; export declare type UseResourceListPaging = { page_no?: number; results_per_page?: number } export declare type UseResourceListTuples = [HTTPResponseList | null, (filter: any, paging?: UseResourceListPaging) => Promise>, boolean, (index: number, T: T) => void]; export declare type UseActionDo = (params?: any, overrideRestSettings?: RestSetting) => Promise export declare type UseActionTuple = [UseActionDo, boolean]; export declare type HTTPMethod = 'GET' | 'POST' | 'PATCH' | 'DELETE' | 'PUT' export declare type RestSetting = { snackMessageToken?: string; snackMessageSeverity?: 'success' | 'error' | 'warning'; catchRedirect?: boolean; handleError?: boolean; rawResult?: boolean; innerThen?: (T: T) => any; } export declare const useResource: (endpoint: string) => UseResourceTuples; export declare const useResourceList: (endpoint: string) => UseResourceListTuples; export declare const useAction: (endpoint: string, method?: HTTPMethod, restSettings?: RestSetting) => UseActionTuple;