import { DxPromise } from './_jqueryUtils'; export type DxXHR = XMLHttpRequest & { responseJSON?: ApiResponse; }; type ApiResponse = { success: boolean; result: T & { faultMessage?: string; }; error: string | null; }; export interface IAjaxSettings { uri: string; action?: string; arg?: string; processErrorCallback?: (message: string, jqXHR: DxXHR, textStatus: string) => void; ignoreError?: () => boolean; customOptions?: unknown; isError?: (data: ApiResponse) => boolean; getErrorMessage?: (jqXHR: DxXHR) => string; method?: 'POST' | 'GET'; } type SendRequestFunc = (uri: IAjaxSettings['uri'], action?: IAjaxSettings['action'], arg?: IAjaxSettings['arg'], processErrorCallback?: IAjaxSettings['processErrorCallback'], ignoreError?: IAjaxSettings['ignoreError'], customOptions?: IAjaxSettings['customOptions'], isError?: IAjaxSettings['isError'], getErrorMessage?: IAjaxSettings['getErrorMessage'], method?: IAjaxSettings['method']) => DxPromise; export declare function _sendRequestWithOptions(options: IAjaxSettings): DxPromise; export type SendRequest = ((options: IAjaxSettings) => DxPromise) & SendRequestFunc; export declare function setAjax(newFunc: SendRequest | ((...args: any[]) => DxPromise)): void; export declare let sendRequest: SendRequest; export {};