"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InternalStateStream = exports.StateStream = void 0;
class StateStream {
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    async send(channel, event) { }
}
exports.StateStream = StateStream;
class InternalStateStream extends StateStream {
    constructor(state, propertyName) {
        super();
        this.state = state;
        this.propertyName = propertyName;
    }
    async get(id) {
        return this.state.get(id, this.propertyName);
    }
    async update(id, data) {
        return this.state.set(id, this.propertyName, { ...data, id });
    }
    async delete(id) {
        const data = await this.state.delete(id, this.propertyName);
        return data;
    }
    async create(id, data) {
        return this.state.set(id, this.propertyName, { ...data, id });
    }
    getGroupId() {
        return null;
    }
    async getList() {
        return [];
    }
    async send() { }
}
exports.InternalStateStream = InternalStateStream;
