import { ConditionAction, ConditionalActionStepNames } from '../actions/ConditionAction';
import { GetVariableValue } from '../actions/GetVariableValue';
import { AssertStepDescriptor } from '../types/AssertStepDescriptor';
import { ObservationScope } from './AssertStep';
import { FindAction } from '../actions/FindAction';
import { MablAction } from '../MablAction';
import { MablStepV2 } from '../MablStepV2';
import { ExtractAction } from '../actions/ExtractAction';
import { JavaScriptAction } from '../actions/JavaScriptAction';
import { GetUrlAction } from '../actions/GetUrlAction';
import { AssertionConditionField } from '../types/ConditionDescriptor';
import { GetViewportAction } from '../actions/GetViewportAction';
import { MobileFindAction } from '../mobile/steps/actions/MobileFindAction';
import { CountAction } from '../actions/CountAction';
export interface IfConditionStep extends MablStepV2<AssertStepDescriptor> {
}
type ConditionPrimaryAction = FindAction | MobileFindAction | GetUrlAction | GetVariableValue | JavaScriptAction | GetViewportAction;
export interface ConditionalStepActions {
    primaryAction: ConditionPrimaryAction;
    conditionAction?: ConditionAction;
    extractAction?: ExtractAction;
    countAction?: CountAction;
}
export declare class IfConditionStep extends MablStepV2<AssertStepDescriptor> {
    static readonly stepName: string;
    static readonly actionCode: string;
    static readonly mablScriptStepNames: string[];
    static readonly yamlMablScriptNames: string[];
    primaryAction: ConditionPrimaryAction;
    conditionAction?: ConditionAction;
    extractAction?: ExtractAction;
    countAction?: CountAction;
    observationScope: ObservationScope | undefined;
    constructor(stepName: string, actionCode: string, descriptor: AssertStepDescriptor, stepActions: ConditionalStepActions);
    static fromLegacyMablscript(_args: any[], actions: MablAction[]): IfConditionStep;
    static validateAndParseActions(actions: MablAction[]): ConditionalStepActions;
    static buildDescriptor(validatedActions: any): AssertStepDescriptor;
    getStepName(): string;
    static getActionsFromYamlForCondition(stepArgs: any): MablAction[];
    static getConditionActionNameForConditionType(conditionType: AssertionConditionField): ConditionalActionStepNames;
    static fromYaml(_stepName: string, stepArgs: {
        [key: string]: any;
    }): IfConditionStep;
    toMablscript(): string;
    getInputVariables(): string[];
    stepDescription(): string;
    static create(descriptor: AssertStepDescriptor, stepActions?: ConditionalStepActions): IfConditionStep;
}
export declare function isIfConditionStep(value: any): value is IfConditionStep;
export {};
//# sourceMappingURL=IfConditionStep.d.ts.map