import { View } from '../utils/View'; import { FetchOptions, Gateway } from '../types/Gateway'; import { Repository } from '../types/Repository'; import { Json, JsonValue } from '../types/Json'; import { PageList } from '../types/PageList'; import { Id, Key } from '../types/Id'; import { List } from '../types/List'; import { RouteGateway } from '../services/RouteGateway'; import { RouteOptions } from '../services/Api'; export declare class Typo extends Repository { protected view: View; private readonly gateway; constructor(view: View, gateway: Gateway); create: (j: Json) => T; all(options?: Options): Promise>; byId(id: Id): Promise; byIds(...ids: Id[]): Promise>; byKey(key: Key, options?: Options): Promise>; by(key: keyof T, value: JsonValue, options?: Options): Promise>; search(q: JsonValue, options?: Options): Promise>; filter(options?: Options): Promise>; exists(id: Id): Promise; } export declare class Agent extends Repository { private gateway; constructor(gateway: RouteGateway); all(options?: Options): Promise>; byId(id: Id): Promise; byIds(...ids: Id[]): Promise>; byKey(key: Key, options?: Options): Promise>; by(key: keyof T, value: JsonValue, options?: Options): Promise>; search(q: JsonValue, options?: Options): Promise>; filter(options?: Options): Promise>; exists(id: Id): Promise; add(t: Partial): Promise; update(id: Id, t: Partial): Promise; upsert(id: Id, t: Partial): Promise; remove(id: Id): Promise; }