import { EvaluationDetails } from './StatsigStore'; export type LogParameterFunction = (layer: Layer, parameterName: string) => void; export default class Layer { readonly _name: string; readonly _value: Record; readonly _ruleID: string; readonly _secondaryExposures: Record[]; readonly _undelegatedSecondaryExposures: Record[]; readonly _allocatedExperimentName: string; readonly _explicitParameters: string[]; readonly _evaluationDetails: EvaluationDetails; readonly _logParameterFunction: LogParameterFunction | null; private constructor(); static _create(name: string, value: Record, ruleID: string, evaluationDetails: EvaluationDetails, logParameterFunction?: LogParameterFunction | null, secondaryExposures?: Record[], undelegatedSecondaryExposures?: Record[], allocatedExperimentName?: string, explicitParameters?: string[]): Layer; get(key: string, defaultValue: T, typeGuard?: (value: unknown) => value is T): T; getValue(key: string, defaultValue?: any | null): boolean | number | string | object | Array | null; private _logLayerParameterExposure; }