/* Options: Date: 2025-08-05 02:00:47 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.asg.com.au/RestApi //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetABTests.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class VariationViewModel { public Id?: string; public Name: string; public Distribution: number; public IsOriginal: boolean; public Ordinal: number; public PageDataId?: string; public IsWinner: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum GoalType { NextPageView = 'NextPageView', FormSubmission = 'FormSubmission', DecConversion = 'DecConversion', } export class GoalViewModel { public Id?: string; public GoalType: GoalType; public GoalNameResourceKey: string; public PredicateOperator: string; public ObjectId: string; public ObjectName: string; public ObjectCulture: string; public IsPrimary: boolean; public Ordinal: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum ABTestStatus { NotStarted = 'NotStarted', Scheduled = 'Scheduled', Active = 'Active', Stopped = 'Stopped', Ended = 'Ended', } export interface IABTestsFilter { SearchText: string; Status?: ABTestStatus; MyTests: boolean; } // @Route("/ab-testing", "PUT") export class ABTestViewModel implements IReturn { public Id: string; public Title: string; public Description: string; public StartDate?: string; public StopDate?: string; public Page: string; public SiteId: string; public Culture: string; public Variations: VariationViewModel[]; public Goals: GoalViewModel[]; public ReportUrl: string; public LastModified: string; public Status: ABTestStatus; public Owner: string; public WinnerVariationId?: string; public SelectedVariationId?: string; public PageNodeErrorMessage: string; public WarningMessage: string; public ApiKey: string; public UserSegmentId?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'ABTestViewModel'; } public getMethod() { return 'PUT'; } public createResponse() { return new ABTestViewModel(); } } // @Route("/ab-testing/tests", "GET") export class GetABTests implements IReturn, IABTestsFilter { public Skip?: number; public Take?: number; public OrderExpression: string; public SearchText: string; public Status?: ABTestStatus; public MyTests: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetABTests'; } public getMethod() { return 'GET'; } public createResponse() { return new Array(); } }