import { MablAction } from './MablAction';
import { MablStep } from './MablStep';
import { StepDescriptor } from './types/StepDescriptor';
import { StepWithMobileFindDescriptor } from './types/mobile/StepWithMobileFindDescriptor';
interface PayloadForYmlSerialization {
    [stepName: string]: StepDescriptor;
}
export declare class MablStepV2<DescriptorType extends StepDescriptor> extends MablStep {
    static mablScriptStepNames: string[];
    static yamlMablScriptNames: string[];
    descriptor: DescriptorType;
    protected stepVersion: number;
    constructor(name: string, descriptor: DescriptorType, actionCode: string);
    stepId(): string | undefined;
    setStepId(id: string): void;
    static fromYaml(stepName: string, stepDescriptor: StepDescriptor, actionCode: string): object;
    static fromLegacyMablscript(_args: any[], _actions: MablAction[]): MablStepV2<StepDescriptor>;
    static create(_descriptor: StepDescriptor): MablStepV2<StepDescriptor>;
    static generateStepId(): string;
    getStepName(): string;
    toStepDescriptor(): DescriptorType;
    getFormattedStep(): PayloadForYmlSerialization;
    getDescription(): string;
    setDescription(description: string): void;
    stepDescription(): string;
    isDisabled(): boolean;
    setDisabled(disabled: boolean): void;
    canContinueOnFailure(): boolean;
    canFailAtEnd(): boolean;
    getResolvedDescription(): string;
    toLineDiffFormat(omitStepId?: boolean): string;
}
export declare function isMablStepV2(value: any): value is MablStepV2<StepDescriptor>;
export declare function isMablStepV2WithMobileFindDescriptor(value: any): value is MablStepV2<StepWithMobileFindDescriptor>;
export {};
//# sourceMappingURL=MablStepV2.d.ts.map