import { Snippet } from '@mablhq-internal/typescript-api-client';
import { MablAction } from '../MablAction';
import { JavaScriptDescriptor, ParameterOverride } from '../types/SnippetsDescriptor';
import { StepDescriptor } from '../types/StepDescriptor';
export declare class JavaScriptAction extends MablAction {
    static mablscriptName: string;
    static mablScriptStepNames: string[];
    javaScript: JavaScriptDescriptor;
    constructor(name: string, args: any[]);
    toDescriptor(): JavaScriptActionDescriptor;
    static fromDescriptor(descriptor: JavaScriptActionDescriptor): JavaScriptAction;
    static fromYaml(formatted: any): JavaScriptAction;
    toMablscript(): string;
    getInputVariables(): string[];
}
export interface YamlJavaScriptAction {
    id?: string;
    code?: string;
    body?: string;
    snippet?: Omit<Snippet, 'id' | 'variant_id'>;
    snippetId?: string;
    snippetInvariantId?: string;
    parameterOverrides?: ParameterOverride[];
}
export interface JavaScriptActionDescriptor extends StepDescriptor {
    javaScript: JavaScriptDescriptor;
}
export declare function isJavaScriptActionDescriptor(value: any): value is JavaScriptActionDescriptor;
//# sourceMappingURL=JavaScriptAction.d.ts.map