import { Bucket, BucketId, Container, ContainerId, EventKey, EventType, Experiment, ExperimentKey, InAppMessage, InAppMessageKey, ParameterConfiguration, ParameterConfigurationId, RemoteConfigParameter, Segment, SegmentKey } from "../model/model"; import { Attributes, WorkspaceConfigDto } from "./dto"; export default class Workspace { private readonly experiments; private readonly splitUrlExperiments; private readonly featureFlags; private readonly buckets; private readonly eventTypes; private readonly segments; private readonly containers; private readonly parameterConfigurations; private readonly remoteConfigParameters; private readonly inAppMessages; private readonly attributes; constructor(experiments: Experiment[], splitUrlExperiments: Experiment[], featureFlags: Experiment[], buckets: Bucket[], eventTypes: EventType[], segments: Segment[], containers: Container[], parameterConfigurations: ParameterConfiguration[], remoteConfigParameters: RemoteConfigParameter[], inAppMessages: InAppMessage[], attributes: Attributes); getExperiments(): Experiment[]; getSplitUrlExperiments(): Experiment[]; getFeatureFlags(): Experiment[]; getInAppMessages(): InAppMessage[]; getExperimentOrNull(experimentKey: ExperimentKey): Experiment | undefined; getFeatureFlagOrNull(featureKey: ExperimentKey): Experiment | undefined; getBucketOrNull(bucketId: BucketId): Bucket | undefined; getEventTypeOrNull(eventKey: EventKey): EventType | undefined; getSegmentOrNull(segmentKey: SegmentKey): Segment | undefined; getContainerOrNull(containerId: ContainerId): Container | undefined; getParameterConfigurationOrNull(parameterConfigurationId: ParameterConfigurationId): ParameterConfiguration | undefined; getRemoteConfigParameterOrNull(remoteConfigParameterKey: string): RemoteConfigParameter | undefined; getInAppMessageOrNull(messageKey: InAppMessageKey): InAppMessage | undefined; getAttributes(): Attributes; static from(dto: WorkspaceConfigDto): Workspace; }