import { LineInfo } from '../misc/utils'; import { IExpression } from '../typings/expression'; import { Statement } from '../core/statement'; /** * Declare a new variable. * * ```typescript * // Mutable * NewVariable("a", String("HELLO WORLD")); * // Unmutable * NewVariable("b", String("HELLO WORLD"), false); * ``` * * @param name Variable name * @param value Variable initial value * @param mutable Optional flag that can be used to set the variable as final (false: final, true: mutable) * @param {LineInfo} line Source code line information (Used in error messages) * * @category | Variable Methods * * @returns {IStatement} A statement */ export declare function NewVariable(name: string, value: IExpression, mutable?: boolean, line?: LineInfo): Statement; /** * Assign value to variable. * * ```typescript * SetValue(ContractStorage(), Nat(1)); * ``` * * @category | Variable Methods * * @param source The variable to be updated * @param value Value to be assigned * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IStatement} A statement */ export declare function SetValue(source: IExpression, value: IExpression, line?: LineInfo): Statement;