import type { NonEmptyString } from "../../CustomTypes/NonEmptyString";
import type { NaturalNumber } from "../../CustomTypes/Numerics";
import type { Dict } from "../../Types";
import type { IDomainEntity } from "../IDomainEntity";
import type { IntegrationId, IntegrationType } from "../Integration";
import type { LogIntegration } from "../Logging/LogIntegration";
import type { Name } from "../Name";
import type { OrganizationId } from "../Organization/OrganizationId";
import type { ConfigurationSet } from "./ConfigurationSet/ConfigurationSet";
import type { EnvironmentId } from "./EnvironmentId";
import type { Location } from "./Location/Location";
export declare type EnvironmentType = 'playground' | 'standard';
export declare const isEnvironmentType: import("@altostra/type-validations").TypeValidation<EnvironmentType>;
export interface Environment extends IDomainEntity {
    id: EnvironmentId;
    name: Name;
    type: EnvironmentType;
    location: Location;
    configurationSets: ConfigurationSet[];
    integrations?: Dict<IntegrationId, IntegrationType>;
    organizationId: OrganizationId;
    logIntegration?: LogIntegration;
    description?: NonEmptyString;
    deploymentExpirationMinutes?: NaturalNumber;
}
export declare const isEnvironment: import("@altostra/type-validations").ObjectOfTypeValidation<Environment>;
export declare function environmentEffectiveConfig(environment: Environment): Dict<string>;
