/** * Copyright 2024-2026 Wingify Software Pvt. Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { dynamic } from '../../types/Common'; import { ContextWingifyModel } from './ContextWingifyModel'; import { IWingifyOptions } from '../WingifyOptionsModel'; export interface IWingifyContextModel { id: string | number; userAgent?: string; ipAddress?: string; customVariables?: Record; variationTargetingVariables?: Record; postSegmentationVariables?: string[]; bucketingSeed?: string; sessionId?: number; isDevMode?: boolean; } export declare class ContextModel implements IWingifyContextModel { id: string | number; userAgent?: string; ipAddress?: string; customVariables?: Record; variationTargetingVariables?: Record; postSegmentationVariables?: string[]; bucketingSeed?: string; _wingify_uuid?: string; sessionId?: number; _wingify?: ContextWingifyModel; isDevMode?: boolean; modelFromDictionary(context: Record, options: IWingifyOptions): this; getId(): string; getUserAgent(): string; getIpAddress(): string; getCustomVariables(): Record; setCustomVariables(customVariables: Record): void; getVariationTargetingVariables(): Record; setVariationTargetingVariables(variationTargetingVariables: Record): void; getVwo(): ContextWingifyModel; setVwo(_wingify: ContextWingifyModel): void; getPostSegmentationVariables(): string[]; setPostSegmentationVariables(postSegmentationVariables: string[]): void; getUuid(): string; getSessionId(): number; getBucketingSeed(): string | undefined; getIsDevMode(): boolean; }