import { FromOzone, Item, Query, SearchRequest, UUID, Patch, AggregationItem } from 'ozone-type'; interface ISearchResults { id?: number; total?: number; size?: number; results?: T[]; } export interface SearchResults extends ISearchResults { aggregations?: Array; } export declare type SearchIdsResults = ISearchResults; export interface ItemClient { save(item: Patch): Promise>; saveAll(items: Patch[]): Promise[]>; broadcast(item: T): Promise>; bulkBroadcast(items: T[]): Promise[]>; findOne(id: UUID): Promise | null>; findAll(): Promise[]>; findAllByIds(ids: UUID[]): Promise[]>; search(searchRequest: SearchRequest): Promise>>; searchIds(searchRequest: SearchRequest): Promise; count(query?: Query): Promise; deleteById(id: UUID, permanent?: boolean): Promise; deleteByIds(ids: UUID[], permanent?: boolean): Promise; searchGenerator(searchRequest: SearchRequest): SearchIterator; queryDelete(searchQuery: Query, permanent?: boolean): Promise; } export interface SearchIterator extends AsyncIterableIterator>> { /** * Cancel ongoing http request * It will end the generator */ cancel(): void; } export {};