import { Expression } from '../core/expression'; import { LineInfo } from '../misc/utils'; import { IExpression } from '../typings/expression'; import { Contract } from '../core'; import { MichelsonType } from '../core/enums/type'; declare class OperationExpression extends Expression { send(line?: LineInfo): import("../core/statement").Statement; } declare class OriginationExpression extends Expression { getAddress(): import("../misc/proxy").Proxied>; getOperation(): import("../misc/proxy").Proxied>; send(line?: LineInfo): import("../core/statement").Statement; } /** * Build a transaction operation. * * ```typescript * // Transfer 100 mutez to an implicit account * Transfer(GetContract(Address('tz1gTnKMA65qaKVpp6x4cgMLU2UyKF2zjHYN')), Mutez(100)).send(); * // Call an originated contract * Transfer(GetContract(Address('KT1R9M3MDffw7qSVSnbJs46aMC9YzzZz3aGT'), '', TNat()), Mutez(100), Nat(1)).send(); * ``` * * @category | Operations * @see https://tezos.gitlab.io/michelson-reference/#instr-TRANSFER_TOKENS * * @param contract Recipient contract * @param amount Transaction amount * @param argument Entrypoint argument * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression */ export declare const Transfer: (contract: IExpression, amount: IExpression, argument?: IExpression, line?: LineInfo) => OperationExpression; /** * Build a delegation operation. * * ```typescript * // Build and send a delegation operation * SetDelegate(Some(Key_hash("tz1gTnKMA65qaKVpp6x4cgMLU2UyKF2zjHYN"))).send(); * // Clear Delegate * SetDelegate(None()).send(); * ``` * * @category | Operations * @see https://tezos.gitlab.io/michelson-reference/#instr-SET_DELEGATE * * @param keyHash An optional implicit account to receive the delegation. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression */ export declare const SetDelegate: (keyHash: IExpression, line?: LineInfo) => OperationExpression; /** * Build a origination operation. * * ```typescript * // Create a new contract (Simple) * CreateContract(new Contract(), Unit()).send(); * // Create a new contract (Full) * CreateContract(new Contract(), Nat(1), Mutez(100), Some(Key_hash("tz1gTnKMA65qaKVpp6x4cgMLU2UyKF2zjHYN"))).send(); * ``` * * @category | Operations * @see https://tezos.gitlab.io/michelson-reference/#instr-CREATE_CONTRACT * * @param contract Contract class * @param storage Initial storage for the contract * @param initial_balance Initial balance for the new contract * @param delegate The address of the delegate implicit account * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression */ export declare const CreateContract: (contract: Contract, storage: IExpression, initial_balance?: IExpression, delegate?: IExpression, line?: LineInfo) => OriginationExpression; export declare const Operation: { Transfer: (contract: IExpression, amount: IExpression, argument?: IExpression, line?: LineInfo) => OperationExpression; SetDelegate: (keyHash: IExpression, line?: LineInfo) => OperationExpression; CreateContract: (contract: Contract, storage: IExpression, initial_balance?: IExpression, delegate?: IExpression, line?: LineInfo) => OriginationExpression; }; export {};