import { FetchOptions } from '../types/Gateway'; import { Repository } from '../types/Repository'; import { PageList } from '../types/PageList'; import { Id, Key } from '../types/Id'; import { List } from '../types/List'; import { Req } from '../resources/Req'; import { JsonValue } from '../types/Json'; export declare class Search { protected repo: Repository; constructor(repo: Repository); all(options?: Options): Promise>; byId(id: Id): Promise; byIds(...ids: Id[]): Promise>; byKey(key: Key, options?: Options): Promise>; query({ query, skip, take }: Req): Promise>; search(query: JsonValue, options?: Options): Promise>; filter(options?: Options): Promise>; exists(id: Id): Promise; }