/// declare namespace Cypress { interface AddFlexibleRolloutStrategyOptions { featureToggleName: string; project?: string; environment?: string; stickiness?: string; } interface UserCredentials { email: string; password: string; } interface IEnvironment { name: string; type: 'development' | 'preproduction' | 'test' | 'production'; } interface Chainable { runBefore(): Chainable; login_UI(user = AUTH_USER, password = AUTH_PASSWORD): Chainable; logout_UI(): Chainable; createProject_UI( projectName: string, defaultStickiness: string, ): Chainable; createFeature_UI( name: string, shouldWait?: boolean, project?: string, closeSplash?: boolean, // @deprecated to support old tests ): Chainable; // VARIANTS addVariantsToFeature_UI( featureToggleName: string, variants: Array, projectName?: string, ); deleteVariant_UI( featureToggleName: string, variant: string, projectName?: string, ): Chainable; // SEGMENTS createSegment_UI(segmentName: string): Chainable; deleteSegment_UI(segmentName: string, id: string): Chainable; // STRATEGY addUserIdStrategyToFeature_UI( featureName: string, projectName: string, ): Chainable; addFlexibleRolloutStrategyToFeature_UI( options: AddFlexibleRolloutStrategyOptions, ): Chainable; updateFlexibleRolloutStrategy_UI( featureToggleName: string, projectName?: string, ); deleteFeatureStrategy_UI( featureName: string, shouldWait?: boolean, projectName?: string, ): Chainable; // API createUser_API(userName: string, role: number): Chainable; updateUserPassword_API(id: number, pass?: string): Chainable; addUserToProject_API( id: number, role: number, projectName?: string, ): Chainable; createProject_API( name: string, options?: Partial, ): Chainable; deleteProject_API(name: string): Chainable; createFeature_API( name: string, projectName?: string, options?: Partial, ): Chainable; deleteFeature_API(name: string, projectName?: string): Chainable; createEnvironment_API( environment: IEnvironment, options?: Partial, ): Chainable; } }