/** * @deprecated */ export type ServiceType = | "Шаблонизатор документов" | "Опросник" | "Сокращатель ссылок" | "АБ тесты"; /** * @deprecated */ export interface Tariff { id: number; name: string; type: string; service: ServiceType | ""; disk: number; time: number; points: number; price: number; } /** * @deprecated */ export interface ArrayProps { id: number; name: string; type: "package" | "tariff"; service: ServiceType | ""; disk: number; time: number; points: number; price: number; tariffs?: Array; } export const SERVICE_LIST = ["templategen", "squiz", "dwarfener"] as const; export namespace Tariffs { export type ServiceType = typeof SERVICE_LIST[number]; export type PrivilegeType = | "unlim" | "gencount" | "activequiz" | "abcount" | "extended"; export interface Privilege { serviceKey: ServiceType; name: PrivilegeType; privilegeId: string; description: string; /** * Единица измерения привелегии: время в днях/кол-во */ type: "day" | "count"; /** * Стоимость одной единицы привелегии */ price: number; } export interface Tariff { privilege: Privilege; /** * Количество единиц привелегии */ amount: number; /** * Кастомная цена, если есть, то используется вместо privilege.price */ customPrice?: number; } }