import { Namespace, Namespaces } from "./namespace.model"; import { ConfigMap } from "./configmap.model"; import { Entity } from "../../models/entity"; export declare class SpaceConfig { namespace: string; environmentsConfigMap: ConfigMap; spacesConfigMap: ConfigMap; constructor(namespace: string, environmentsConfigMap: ConfigMap, spacesConfigMap: ConfigMap); } /** * Allows a namespace to be split up into separate logical spaces using labels in kubernetes/openshift */ export declare class LabelSpace implements Entity { name: string; label: string; description: string; order: number; constructor(name: string, label: string, description: string, order: number); readonly id: string; } export declare class Space { namespace: Namespace; spaceConfig: SpaceConfig; id: string; name: string; environments: Environment[]; labelSpaces: LabelSpace[]; jenkinsNamespace: Namespace; cheNamespace: Namespace; /** * Returns the namespace of the first environment or if there are none then this namespace name */ firstEnvironmentNamespace: string; constructor(namespace: Namespace, namespaces: Namespaces, spaceConfig: SpaceConfig); /** * Returns the environment which contains the given key such as 'jenkins' or 'stage' or null if none can be found */ findEnvironment(key: string): Environment; protected loadEnvironments(configMap: ConfigMap, namespaceMap: Map): Environment[]; private loadLabelSpaces(configMap); } export declare class Environment { key: string; name: string; namespaceName: string; space: Space; namespace: Namespace; config: any; order: number; openShiftConsoleUrl: string; constructor(key: string, name: string, namespaceName: string, space: Space, namespace: Namespace, config: any, order: number); } export declare class Spaces extends Array { /** * All the spaces whether a development Space a runtime Environment or a namespace for Secrets */ all: Space[]; /** * All the environments for all spaces */ environments: Environment[]; /** * All the namespaces used for storing user Secrets */ secretNamespaces: Space[]; /** * System namespaces */ systemNamespaces: Space[]; } export declare function createEmptySpace(): Space; export declare function asSpaces(spaces: Space[]): Spaces;