import { CardEntity } from '../../domain/card/card-entity'; import { CollectionEntity } from '../../domain/collection/collection-entity'; import { DeckEntity } from '../../domain/deck/deck-entity'; import { NoteTypeEntity } from '../../domain/note-type/note-type-entity'; import { NoteEntity } from '../../domain/note/note-entity'; import { PresetEntity } from '../../domain/preset/preset-entity'; import { IDatabase } from './database'; export type CreateDeckEntityParams = Omit; export type CreateCollectionParams = Omit; export type CreatePresetEntityParams = Omit; export type CreateNoteTypeEntityParams = Omit & { id?: number; }; export type CreateNoteEntityParams = Omit; export type UpdateNoteEntityParams = Omit; export type CreateCardEntityParams = Omit; export interface IRepository { getDeckRecordsMap(): Promise>; addDeck(params: CreateDeckEntityParams): Promise; getDeck(id: number): Promise; getPresetRecordsMap(): Promise>; addPreset(params: CreatePresetEntityParams): Promise; getNoteType(id: number): Promise; getNoteTypeRecordsMap(): Promise>; addNoteType(params: CreateNoteTypeEntityParams): Promise; getNote(id: number): Promise; getNoteByGuid(guid: string): Promise; createNote(params: CreateNoteEntityParams): Promise; updateNote(id: number, params: UpdateNoteEntityParams): Promise; getCard(id: number): Promise; addCart(params: CreateCardEntityParams): Promise; getCollection(): Promise; addCollection(params: CreateCollectionParams): Promise; } export declare class Repository implements IRepository { private readonly db; constructor(db: IDatabase); getDeckRecordsMap(): Promise>; addDeck(params: CreateDeckEntityParams): Promise; getDeck(id: number): Promise; getPresetRecordsMap(): Promise>; addPreset(params: CreatePresetEntityParams): Promise; getNoteType(id: number): Promise; getNoteTypeRecordsMap(): Promise>; addNoteType(params: CreateNoteTypeEntityParams): Promise; getNote(id: number): Promise; getNoteByGuid(guid: string): Promise; createNote(params: CreateNoteEntityParams): Promise; updateNote(id: number, params: UpdateNoteEntityParams): Promise; getCard(id: number): Promise; addCart(params: CreateCardEntityParams): Promise; getCollection(): Promise; addCollection(params: CreateCollectionParams): Promise; }