import { Sequelize } from 'sequelize-typescript'; import { SequelizeRepository, Subscription } from '../index.js'; import type { ISubscriptionRepository } from '../../../index.js'; import type { BootstrapConfig } from '@citrineos/base'; import type { ILogObj } from 'tslog'; import { Logger } from 'tslog'; export declare class SequelizeSubscriptionRepository extends SequelizeRepository implements ISubscriptionRepository { constructor(config: BootstrapConfig, logger?: Logger, sequelizeInstance?: Sequelize); /** * Creates a new {@link Subscription} in the database. * Input is assumed to not have an id, and id will be removed if present. * Object is rebuilt to ensure access to essential {@link Model} function {@link Model.save()} (Model is extended by Subscription). * * @param value {@link Subscription} object which may have been deserialized from JSON * @returns Saved {@link Subscription} if successful, undefined otherwise */ create(tenantId: number, value: Subscription): Promise; readAllByStationId(tenantId: number, stationId: string): Promise; deleteByKey(tenantId: number, key: string): Promise; }