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>;
