import { Json, JsonValue } from './Json'; import { Id } from './Id'; import { PageList, PageOptions } from './PageList'; import { List } from './List'; import { Optional } from './Types'; export type FetchOptions = PageOptions; export declare abstract class Gateway { all(options?: Options): Promise>; byId(id: Id, options?: Options): Promise>; by(_key: string, _value: JsonValue, _options?: Options): Promise>; byIds(..._ids: Id[]): Promise>; search(q: JsonValue, options?: Options): Promise>; filter(options?: Options): Promise>; exists(id: Id, options?: Options): Promise; add(item: Json, options?: Options): Promise; update(item: Json, options?: Options): Promise; remove(id: Id, options?: Options): Promise; }