import { Uuid } from '@standardnotes/domain-core' import { ReadStream } from 'fs' import { Item } from './Item' import { ItemQuery } from './ItemQuery' import { ExtendedIntegrityPayload } from './ExtendedIntegrityPayload' export interface ItemRepositoryInterface { deleteByUserUuid(userUuid: string): Promise findAll(query: ItemQuery): Promise findAllRaw(query: ItemQuery): Promise streamAll(query: ItemQuery): Promise countAll(query: ItemQuery): Promise findContentSizeForComputingTransferLimit( query: ItemQuery, ): Promise> findDatesForComputingIntegrityHash(userUuid: string): Promise> findItemsForComputingIntegrityPayloads(userUuid: string): Promise findByUuidAndUserUuid(uuid: string, userUuid: string): Promise findByUuid(uuid: Uuid, noAssociations: boolean): Promise remove(item: Item): Promise save(item: Item): Promise markItemsAsDeleted(itemUuids: Array, updatedAtTimestamp: number): Promise updateContentSize(itemUuid: string, contentSize: number): Promise }