export declare type Layer = (req: Request) => Promise; export declare type Middleware = (next: Layer) => Layer; export declare type Method = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; export declare type BodyData = void | object | FormData; export interface IApi { get(path: string, options?: RequestInit): Promise; post(path: string, data?: Req, options?: RequestInit): Promise; put(path: string, data?: Req, options?: RequestInit): Promise; patch(path: string, data?: Req, options?: RequestInit): Promise; delete(path: string, options?: RequestInit): Promise; search(path: string, query: object, options?: RequestInit): Promise; } export declare type ResourceId = string | number; export declare type ResourceParams = Record; export declare type ResourceData = Omit;