import { AjaxSubmitRequestData, ReduxAjaxAction, ReduxAjaxParams } from './redux-ajax.type'; /** * Set request parameters. * * @param {object} data - Request params. * @param {string} data.requestId - Request ID. * @param {string} [data.method] - HTTP method. * @param {string} [data.url] - URL to call. * @param {object} [data.headers] - Request headers. * @returns {Action} Action. * * @example * store.dispatch(setRequestParams({ * requestId: 'someId', * method: 'PUT', * url: '/some/endpoint/accepting/ajax/request', * headers: {Authorization: 'Bearer some-token'} * })); */ export declare const setRequestParams: (data: ReduxAjaxParams & { requestId: string; }) => { type: string; data: ReduxAjaxParams & { requestId: string; }; }; /** * Set status to failure and fill error. * * @param {object} data - Failure data. * @returns {Action} Action. * @example * store.dispatch(submitFailure({requestId: 'someId', error: data.response.error})); */ export declare const submitFailure: (data: { requestId: string; error: object; }) => { type: string; data: { requestId: string; error: object; }; }; /** * Set status to success and fill response. * * @param {object} data - Request body data. * @param {string} data.requestId - Request ID. * @param {object} data.response - Request response to put in the store. * @returns {Action} Action. * @example * store.dispatch(submitSuccess({requestId: 'someId', response: data.response})); */ export declare const submitSuccess: ({ requestId, response }: { requestId: string; response?: object; }) => { type: string; data: { requestId: string; response: object; }; }; /** * Announce that the request is handled. * * @param {object} data - Request body data. * @param {string} data.requestId - Request ID. * @returns {Action} Action. * @example * store.dispatch(submitComplete({requestId: 'someId'})); */ export declare const submitComplete: ({ requestId }: { requestId: string; }) => { type: string; data: { requestId: string; }; }; /** * Set status to pending. * * @param {object} data - Request body data. * @param {string} data.requestId - Request ID. * @returns {Action} Action. * @example * store.dispatch(submitPending({requestId: 'someId'})); */ export declare const submitPending: (data: { requestId: string; }) => { type: string; data: { requestId: string; }; }; /** * Reset status and response/error. * * @param {object} data - Request body data. * @param {string} data.requestId - Request ID. * @returns {Action} Action. * @example * store.dispatch(submitReset({requestId: 'someId'})); */ export declare const submitReset: (data: { requestId: string; }) => { type: string; data: { requestId: string; }; }; /** * Reset status and response/error. * * @param {object} data - Request body data. * @param {string} data.requestId - Request ID. * @returns {Action} Action. * @example * store.dispatch(submitReset({requestId: 'someId'})); */ export declare const submitResponseReset: (data: { requestId: string; }) => { type: string; data: { requestId: string; }; }; /** * Submit a request. * * @param {object} data - Request body data. * @param {string} data.requestId - Request ID. * @param {boolean} [data.isCached] - Do not re-fetch a request with this requestID if we have a response. * @param {Function} [data.transformData] - Transform the body before being sent. * @param {object} [data.requestContent] - Request parameters. * @returns {Action} Action. * @example * store.dispatch(submitRequest({ * requestId: 'someId', * requestContent: {url: '/test', method: 'get'}, * transformData: (body) => JSON.stringify(body) * })); */ export declare const submitRequest: ({ transformData, ...params }: { requestId: string; } & AjaxSubmitRequestData) => ReduxAjaxAction; /** * Abort a request. * * @param {object} data - Request body data. * @param {string} data.requestId - Request ID. * @returns {Action} Action. * @example * store.dispatch(abortRequest({ * requestId: 'someId', * })); */ export declare const abortRequest: (data: { requestId: string; }) => { type: string; data: { requestId: string; }; };