@altostra/core
Version:
Core library for shared types and logic
24 lines (23 loc) • 1.36 kB
TypeScript
import type { DeploymentSettings } from "../../../bizops/DeploymentSettings";
import type { Dict } from "../../Types";
import type { OrganizationPreferences } from "../../../bizops/OrganizationPreferences";
import type { NonEmptyString } from "../../CustomTypes/NonEmptyString";
import type { Name } from "../Name";
import type { SubscriptionPlan } from "../SubscriptionPlan";
import type { OnboardingProgress } from "./OnboardingProgress";
import type { OrganizationId } from "./OrganizationId";
export declare type FeatureFlags = Dict<boolean>;
export declare const isFeatureFlags: import("@altostra/type-validations").TypeValidation<Record<string | number, boolean> | undefined>;
export interface Organization {
id: OrganizationId;
displayName: Name;
deploymentSettings: DeploymentSettings;
preferences: OrganizationPreferences;
onboardingProgress?: OnboardingProgress;
featureFlags?: FeatureFlags;
subscriptionPlan: SubscriptionPlan;
imageUrl?: NonEmptyString;
paymentId?: NonEmptyString;
}
export declare function createOrganization(id: OrganizationId, displayName: Name, settings?: DeploymentSettings, imageUrl?: NonEmptyString, paymentId?: NonEmptyString, preferences?: OrganizationPreferences): Organization;
export declare const isOrganization: import("@altostra/type-validations").ObjectOfTypeValidation<Organization>;