import { Schema } from 'enty'; import { ProviderConfig } from './ProviderFactory'; import type { Message } from './data/Message'; import { SideEffect } from './util/definitions'; export declare type Request = { useRequest: (options?: { key?: string | null; responseKey?: string; }) => Message; }; declare type RequestFunction = (variables?: any, meta?: any) => Promise | AsyncIterator; declare type MappedTransform = { [K in keyof T]: T[K] extends SideEffect ? Request>, Parameters[0] extends undefined ? void : Parameters[0]> : MappedTransform; }; declare type Extras = { Provider: any; ProviderHoc: any; useRemove: any; createRequestHook: (config: { name: string; request: R; schema?: Schema; }) => (options?: { key?: string; responseKey?: string; }) => Message>, Parameters[0] extends undefined ? void : Parameters[0]>; }; interface ActionMap extends Record { } export default function EntityApi(actionMap: A, schema?: Schema, results?: ProviderConfig['results']): Extras & MappedTransform; export {};