import type { DeploymentSettings } from "../../../bizops/DeploymentSettings";
import type { OrganizationPreferences } from "../../../bizops/OrganizationPreferences";
import type { GitUtilsInitialization } from "../../../git-host/git-utils";
import type { ObjectValidations } from '@altostra/type-validations';
import type { NonEmptyString } from "../../CustomTypes/NonEmptyString";
import type { Name } from "../Name";
import type { SubscriptionPlan } from "../SubscriptionPlan";
import type { OnboardingProgress } from "./OnboardingProgress";
import type { FeatureFlags } from "./Organization";
import type { OrganizationId } from "./OrganizationId";
export interface GitHostIntegration {
    accountName: NonEmptyString;
    gitHost: GitHost;
    accountURL: NonEmptyString;
    utils: GitUtilsInitialization;
}
export declare type GitHost = 'Bitbucket' | 'CodeCommit' | 'Github' | 'Gitlab';
export declare type SubscriptionPlanResponse = Pick<SubscriptionPlan, 'attributes' | 'features' | 'name' | 'type'>;
export interface ProfileResponse {
    organizationId: OrganizationId;
    organizationDisplayName: Name;
    onboardingProgress?: OnboardingProgress;
    hasGitHostIntegration?: GitHostIntegration;
    featureFlags?: FeatureFlags;
    deploymentSettings: DeploymentSettings;
    preferences: OrganizationPreferences;
    subscriptionPlan: SubscriptionPlanResponse;
    imageUrl?: NonEmptyString;
}
export declare const isGitHost: import("@altostra/type-validations").TypeValidation<GitHost>;
export declare const gitHostIntegrationValidations: ObjectValidations<GitHostIntegration>;
export declare const isGitHostIntegration: import("@altostra/type-validations").ObjectOfTypeValidation<GitHostIntegration>;
export declare const subscriptionPlanResponseValidations: ObjectValidations<SubscriptionPlanResponse>;
export declare const isSubscriptionPlanResponse: import("@altostra/type-validations").ObjectOfTypeValidation<SubscriptionPlanResponse>;
export declare const isProfileResponse: import("@altostra/type-validations").ObjectOfTypeValidation<{
    organizationId: OrganizationId;
    organizationDisplayName: Name;
    onboardingProgress: OnboardingProgress | undefined;
    hasGitHostIntegration: GitHostIntegration | undefined;
    featureFlags: Record<string | number, boolean | undefined> | undefined;
    deploymentSettings: DeploymentSettings;
    subscriptionPlan: SubscriptionPlanResponse;
    preferences: OrganizationPreferences;
    imageUrl: NonEmptyString | undefined;
}>;
