@speckle/shared
Version:
Shared code between various Speckle JS packages
79 lines • 3.22 kB
TypeScript
export declare const PaidWorkspacePlans: {
readonly Team: "team";
readonly TeamUnlimited: "teamUnlimited";
readonly Pro: "pro";
readonly ProUnlimited: "proUnlimited";
};
export type PaidWorkspacePlans = (typeof PaidWorkspacePlans)[keyof typeof PaidWorkspacePlans];
export declare const UnpaidWorkspacePlans: {
readonly TeamUnlimitedInvoiced: "teamUnlimitedInvoiced";
readonly ProUnlimitedInvoiced: "proUnlimitedInvoiced";
readonly Enterprise: "enterprise";
readonly Unlimited: "unlimited";
readonly Academia: "academia";
readonly Free: "free";
};
export type UnpaidWorkspacePlans = (typeof UnpaidWorkspacePlans)[keyof typeof UnpaidWorkspacePlans];
export declare const WorkspacePlans: {
readonly TeamUnlimitedInvoiced: "teamUnlimitedInvoiced";
readonly ProUnlimitedInvoiced: "proUnlimitedInvoiced";
readonly Enterprise: "enterprise";
readonly Unlimited: "unlimited";
readonly Academia: "academia";
readonly Free: "free";
readonly Team: "team";
readonly TeamUnlimited: "teamUnlimited";
readonly Pro: "pro";
readonly ProUnlimited: "proUnlimited";
};
export type WorkspacePlans = (typeof WorkspacePlans)[keyof typeof WorkspacePlans];
export declare const doesPlanIncludeUnlimitedProjectsAddon: (plan: WorkspacePlans) => boolean;
export declare const isSelfServeAvailablePlan: (plan: WorkspacePlans) => boolean;
export declare const isPaidPlan: (plan: WorkspacePlans) => boolean;
/**
* BILLING INTERVALS
*/
export declare const WorkspacePlanBillingIntervals: {
readonly Monthly: "monthly";
readonly Yearly: "yearly";
};
export type WorkspacePlanBillingIntervals = (typeof WorkspacePlanBillingIntervals)[keyof typeof WorkspacePlanBillingIntervals];
/**
* PLAN STATUSES
*/
export declare const UnpaidWorkspacePlanStatuses: {
readonly Valid: "valid";
};
export type UnpaidWorkspacePlanStatuses = (typeof UnpaidWorkspacePlanStatuses)[keyof typeof UnpaidWorkspacePlanStatuses];
export declare const PaidWorkspacePlanStatuses: {
readonly PaymentFailed: "paymentFailed";
readonly CancelationScheduled: "cancelationScheduled";
readonly Canceled: "canceled";
readonly Valid: "valid";
};
export type PaidWorkspacePlanStatuses = (typeof PaidWorkspacePlanStatuses)[keyof typeof PaidWorkspacePlanStatuses];
export declare const WorkspacePlanStatuses: {
readonly Valid: "valid";
readonly PaymentFailed: "paymentFailed";
readonly CancelationScheduled: "cancelationScheduled";
readonly Canceled: "canceled";
};
export type WorkspacePlanStatuses = (typeof WorkspacePlanStatuses)[keyof typeof WorkspacePlanStatuses];
type BaseWorkspacePlan = {
workspaceId: string;
createdAt: Date;
updatedAt: Date;
featureFlags: number;
};
export type PaidWorkspacePlan = BaseWorkspacePlan & {
name: PaidWorkspacePlans;
status: PaidWorkspacePlanStatuses;
};
export type UnpaidWorkspacePlan = BaseWorkspacePlan & {
name: UnpaidWorkspacePlans;
status: UnpaidWorkspacePlanStatuses;
};
export type WorkspacePlan = PaidWorkspacePlan | UnpaidWorkspacePlan;
export declare const isWorkspacePlanStatusReadOnly: (status: WorkspacePlan["status"]) => boolean;
export {};
//# sourceMappingURL=plans.d.ts.map