import { MablSymbol } from './MablSymbol';
export interface BasicAction {
    getActionArgs: () => any[];
    getActionName: () => string;
    getInputVariables: () => string[];
    getOutputVariables: () => string[];
    subVariable: (argument: string) => string;
    toMablscript: () => string;
}
export declare class MablAction implements BasicAction {
    name: string;
    actionCode?: string;
    args: any[];
    actionSourceIndexInStep?: number;
    cumulativeActionSourceIndexInFlow?: number;
    constructor(name: string, actionCode: string, args: any[]);
    getActionArgs(): any[];
    setActionSourceIndexInStep(index: number): void;
    getActionSourceIndexInStep(): number | undefined;
    getActionCode(): string | undefined;
    subVariable(argument: string): string;
    getActionName(): string;
    toMablscript(): string;
    static findUniqueVariableReferencesInValue(value: any): string[];
    getInputVariables(): string[];
    getOutputVariables(): string[];
}
export declare function argumentIsMablVariable(argument: string): boolean;
export declare function parseArgument<T>(arg: T, convertStringToSymbol?: boolean): MablSymbol | T;
export declare function distinctStrings(values: string[]): string[];
export declare function convertObjectToMablscriptArgs(objectArgs: {
    [key: string]: any;
}): string;
//# sourceMappingURL=MablAction.d.ts.map