import { MablAction } from '../MablAction';
import { MablStepV2 } from '../MablStepV2';
import { CreateVariableStepDescriptor, VariableGenerator } from '../types/CreateVariableStepDescriptor';
export declare class CreateVariableStep extends MablStepV2<CreateVariableStepDescriptor> {
    static readonly stepName = "CreateVariable";
    static readonly actionCode = "as";
    static readonly mablScriptStepNames: string[];
    static readonly yamlMablScriptNames: string[];
    variableName: string;
    generationType: VariableGenerator;
    constructor(descriptor: CreateVariableStepDescriptor);
    private isValidDescriptor;
    getStepName(): string;
    static buildStepDescriptor(variableName: string, generationType: VariableGenerator, actions: MablAction[]): CreateVariableStepDescriptor;
    private buildActions;
    static fromYaml(_stepName: string, stepArgs: {
        [key: string]: any;
    }): CreateVariableStep;
    static fromLegacyMablscript(args: any[], actions: MablAction[]): CreateVariableStep;
    private static calculateGenerationType;
    toMablscript(): string;
    getInputVariables(): string[];
    getOutputVariables(): string[];
    stepDescription(): string;
    static create(descriptor: CreateVariableStepDescriptor): CreateVariableStep;
}
export declare function isCreateVariableStep(value: any): value is CreateVariableStep;
//# sourceMappingURL=CreateVariableStep.d.ts.map