import { EventEmitter, OnInit, OnChanges, OnDestroy, DoCheck, SimpleChanges } from '@angular/core'; import { BasicStepConfig, SubStep, StepStatus, TimingBreakdown, SelfHealAnalysisData, FailureDetails, ExecutionStepConfig, ConditionBranch, SelfHealActionEvent, AddStepMenuOption, StepMoreMenuOption } from '../execution-step.models'; import { BaseStepComponent } from '../base-step.component'; import { makeCurrentBaselineEvent, uploadBaselineEvent } from '../visual-comparison/visual-comparison.component'; import * as i0 from "@angular/core"; export declare class BasicStepComponent extends BaseStepComponent implements OnInit, OnChanges, OnDestroy, DoCheck { id: string; testStepResultId: string; stepNumber: string; title: string; status: StepStatus; isDebug?: boolean; canEditSteps?: boolean; debugPointSet?: boolean; parentSkipped?: boolean; getDebugPointSetHandler?: (step: ExecutionStepConfig) => boolean; onDebugPointChangeHandler?: (step: ExecutionStepConfig, value: boolean) => void; duration: number; debugPointChange: EventEmitter; timingBreakdown?: TimingBreakdown; expanded?: boolean; subSteps: SubStep[]; selfHealAnalysis?: SelfHealAnalysisData; selfHealed?: boolean; selfHealDuration?: number; failureDetails?: FailureDetails; reasoning?: string[]; confidence?: string; stepDeleted?: boolean; isUploadingBaseline: {}; isMakingCurrentBaseline: {}; isLive: boolean; nestedSteps?: ExecutionStepConfig[]; hasChild?: boolean; isLoading?: boolean; onExpandHandler?: (step: ExecutionStepConfig) => void; /** When provided, passed to nested step-renderer so Edit on nested steps is forwarded with the step config. */ onEditStepHandler?: (step: ExecutionStepConfig) => void; onAddStepOptionSelectHandler?: (option: AddStepMenuOption, step?: ExecutionStepConfig) => void; onStepMoreOptionSelectHandler?: (option: StepMoreMenuOption, step?: ExecutionStepConfig) => void; getConditionBranchesHandler?: (step: ExecutionStepConfig) => ConditionBranch[]; onConditionBranchClickHandler?: (step: any, branch: any) => void; isStepLoadingHandler?: (step: ExecutionStepConfig) => boolean; isStepExpandedHandler?: (step: ExecutionStepConfig) => boolean; convertMsToSecondsHandler?: (duration: number) => number; formatFailureDetailsHandler?: (step: ExecutionStepConfig) => any; getSelfHealAnalysisHandler?: (step: ExecutionStepConfig) => any; onMakeCurrentBaselineHandler?: (event: any) => void; onUploadBaselineHandler?: (event: any) => void; onAnalyzeHandler?: () => void; onViewFullLogsHandler?: () => void; onSelfHealActionHandler?: (event: any) => void; getSelfHealLoadingStatesHandler?: () => { isLoadingAccept: { [key: string]: boolean; }; isLoadingModifyAccept: { [key: string]: boolean; }; }; getLoopIterationsHandler?: (step: ExecutionStepConfig) => any[]; getApiAssertionsHandler?: (step: ExecutionStepConfig) => any[]; formatActionsHandler?: (step: ExecutionStepConfig) => any[]; onViewAllIterationsHandler?: (step: ExecutionStepConfig) => void; onStepClickHandler?: (step: ExecutionStepConfig, event?: Event) => void; onJsonPathCopiedHandler?: (event: { path: string; source: 'requestBody' | 'responseBody' | 'requestHeaders' | 'responseHeaders'; }) => void; onDownloadHandler?: (event: { fileName: string; filePath?: string; fileType: string; testStepResultId: string; }) => void; onFilePathCopiedHandler?: (event: { filePath: string; testStepResultId: string; }) => void; onTextCopiedHandler?: (event: { text: string; testStepResultId: string; }) => void; jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void; downloadingStepId: string | null; step?: any; get stepBadges(): ('skipped' | 'edited' | 'added' | 'removed')[]; get isStepDeleted(): boolean; get isSkipped(): boolean; makeCurrentBaseline: EventEmitter; uploadBaseline: EventEmitter; analyze: EventEmitter; viewFullLogs: EventEmitter; selfHealAction: EventEmitter; editStep: EventEmitter; addStepOptionSelect: EventEmitter; stepMoreOptionSelect: EventEmitter; /** Options shown in the Add (plus) button dropdown. Load dynamically or use default. */ addStepMenuOptions: AddStepMenuOption[]; /** Options shown in the More options (three-dot) menu. Load dynamically or use default. */ stepMoreMenuOptions: StepMoreMenuOption[]; config: BasicStepConfig; loadingSteps: Set; processedSubSteps: any[]; private lastProcessedIndex; private waitLocatorGroupEntry; private countdownIntervalId; private aiAutoHealGroupEntry; processedSubStepsForRunResult: any[]; /** Show debug icon when debug mode is on (shown on parent and all child steps). */ get showDebugIcon(): boolean; /** Per-step filtered three-dot menu options (e.g. hide Duplicate/Delete for step-group children). */ get effectiveStepMoreMenuOptions(): StepMoreMenuOption[]; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngDoCheck(): void; get hasSubSteps(): boolean; showFailedStepDetails: boolean; onViewMoreFailedStepClick(expanded: boolean): void; onSelfHealAction(event: SelfHealActionEvent): void; onMakeCurrentBaseline(event: makeCurrentBaselineEvent): void; onUploadBaseline(event: uploadBaselineEvent): void; onAnalyze(): void; onViewFullLogs(): void; get showViewMoreButton(): boolean; toggle(): void; isNestedStepLoading(step: ExecutionStepConfig): boolean; markStepLoaded(step: ExecutionStepConfig): void; onDebugPointClick(event: Event): void; onEditStep(event: Event): void; onAddStepOptionSelect(option: AddStepMenuOption, event: Event): void; onStepMoreOptionSelect(option: StepMoreMenuOption, event: Event): void; toggleHeader(event?: Event): void; isStepLoading(): boolean; onJumpToTimestamp(event: Event): void; ngOnDestroy(): void; private processLiveSubSteps; private resetLiveProcessing; private clearCountdownTimer; private addDurationToWaitLocatorGroupEntry; private processSubStepsForRunResult; /** True when this normal step is a "Download file by click on