// Package: com.lightningkite.ktordb.mock
// Generated by Khrysalis - this file will be overwritten.
import { FullReadModelApi } from '../FullReadModelApi'
import { ObserveModelApi } from '../ObserveModelApi'
import { ReadModelApi } from '../ReadModelApi'
import { HasId } from '../db/HasId'
import { MockObserveModelApi } from './MockObserveModelApi'
import { MockReadModelApi } from './MockReadModelApi'
import { MockTable } from './MockTable'

//! Declares com.lightningkite.ktordb.mock.MockFullReadModelApi
export class MockFullReadModelApi<Model extends HasId<string>> extends FullReadModelApi<Model> {
    public constructor(public readonly table: MockTable<Model>) {
        super();
        this.read = new MockReadModelApi<Model>(this.table);
        this.observe = new MockObserveModelApi<Model>(this.table);
    }
    
    public readonly read: ReadModelApi<Model>;
    public readonly observe: ObserveModelApi<Model>;
}