export type RequestBody = FormData | object;
export type Request = {
    path: string;
    method: string;
    body: RequestBody;
};
export declare function postRemote(input: Request, controller?: AbortController): Promise<Response>;
export declare function getRemote(path: string, controller?: AbortController): Promise<Response>;
export declare function buildRemoteRequest(method: string, path: string, body: RequestBody): Request;
export declare function isRemoteRequest(input: any): boolean;
export type FetchOptions = RequestInit & {
    timeout?: number;
    controller?: AbortController;
};
export declare function fetchWithTimeout(resource: string, options?: FetchOptions): Promise<Response>;
export declare function requestMany(controller: AbortController, list: Array<Promise<Response>>): Promise<Response[]>;
