import { Submission } from '../models/submission.model'; import * as i0 from "@angular/core"; export declare class WhenClauseService { private activeWhenClauseGrids; private questionAnswerMap; private questionChange$; isInitialLoad: boolean; constructor(); markLoadCompleted(): void; onQuestionChange(): import("rxjs").Observable<{ questionId: string; }>; /** * Check if a grid has an active when clause */ isActiveWhenClause(grid: any): boolean; /** * Add a grid to tracking list if it has an active when clause */ addGrid(grid: any): void; setQuestionAnswer(questionId: string, answer: any, initial?: boolean): void; getAnswer(questionId: string): any; private evaluateAllWhenClauses; evaluateCondition(answer: any, operator: string, value: any): boolean; addGridsFromSubform(subform: any): void; /** * Recursively process childLogics structure */ private processChildLogics; /** * Return ALL elements with an active whenClause inside a subform, * including nested childLogics (recursive) */ getWhenClauseElements(subform: any): any[]; /** * Recursively gather grids with active whenClause inside childLogics */ private getElementsFromChildLogics; checkElementVisibility(id: string, submission: Submission): boolean; evaluateSubformWhenClauses(changedAnswer: any, submission: Submission, changedQuestionId: string, elementsWithWhenClause: any): void; resetService(): void; getActiveWhenClauseGrids(): any[]; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }