import { Entity } from '../base/Entity.js'; import { PlanStatus } from '../value-objects/PlanStatus.js'; export interface PlanFeatureValue { featureId: number; value: string; createdAt: Date; updatedAt: Date; } export interface PlanProps { productKey: string; key: string; displayName: string; description?: string; status: PlanStatus; onExpireTransitionToBillingCycleKey?: string; featureValues: PlanFeatureValue[]; metadata?: Record; createdAt: Date; updatedAt: Date; } export declare class Plan extends Entity { get productKey(): string; get key(): string; get displayName(): string; get status(): PlanStatus; archive(): void; unarchive(): void; setFeatureValue(featureId: number, value: string): void; removeFeatureValue(featureId: number): void; getFeatureValue(featureId: number): string | null; canDelete(): boolean; updateDisplayName(name: string): void; } //# sourceMappingURL=Plan.d.ts.map