import { SettingName } from '@standardnotes/domain-core' import { DeleteSettingDto } from '../UseCase/DeleteSetting/DeleteSettingDto' import { Setting } from './Setting' export interface SettingRepositoryInterface { findOneByUuid(uuid: string): Promise findOneByUuidAndNames(uuid: string, names: SettingName[]): Promise findOneByNameAndUserUuid(name: string, userUuid: string): Promise findLastByNameAndUserUuid(name: string, userUuid: string): Promise findAllByUserUuid(userUuid: string): Promise countAllByNameAndValue(dto: { name: SettingName; value: string }): Promise findAllByNameAndValue(dto: { name: SettingName; value: string; offset: number; limit: number }): Promise deleteByUserUuid(dto: DeleteSettingDto): Promise insert(setting: Setting): Promise update(setting: Setting): Promise }