import { CreationOptional, DataTypes, InferAttributes, InferCreationAttributes } from 'sequelize'; import { TenantModel } from '../tenant-model'; export declare const nextSubscriptionItemId: (size?: number) => string; export declare class SubscriptionItem extends TenantModel, InferCreationAttributes> { id: CreationOptional; livemode: boolean; instance_did?: string; subscription_id: string; price_id: string; quantity: number; metadata: Record; billing_thresholds?: { usage_gte: number; }; created_at: CreationOptional; updated_at: CreationOptional; static readonly GENESIS_ATTRIBUTES: { id: { type: DataTypes.StringDataType; primaryKey: boolean; allowNull: boolean; defaultValue: (size?: number) => string; }; livemode: { type: DataTypes.AbstractDataTypeConstructor; allowNull: boolean; }; subscription_id: { type: DataTypes.StringDataType; allowNull: boolean; }; price_id: { type: DataTypes.StringDataType; allowNull: boolean; }; quantity: { type: DataTypes.IntegerDataTypeConstructor; allowNull: boolean; }; metadata: { type: DataTypes.AbstractDataTypeConstructor; allowNull: boolean; }; billing_threshold: { type: DataTypes.AbstractDataTypeConstructor; allowNull: boolean; }; created_at: { type: DataTypes.DateDataTypeConstructor; defaultValue: DataTypes.AbstractDataTypeConstructor; allowNull: boolean; }; updated_at: { type: DataTypes.DateDataTypeConstructor; defaultValue: DataTypes.AbstractDataTypeConstructor; allowNull: boolean; }; }; static initialize(sequelize: any): void; static associate(models: any): void; static isPriceUsed(priceId: string): Promise; } export type TSubscriptionItem = InferAttributes;