import type { IExpression } from '../typings/expression'; import type { IType } from '../typings/type'; import { LineInfo } from '../misc/utils'; import { MichelsonType } from '../core/enums/type'; /** * Cast an address to a typed contract. * * ```typescript * ToContract(Address('KT1R9M3MDffw7qSVSnbJs46aMC9YzzZz3aGT'), 'some_entrypoint', TNat()); * ``` * * @category Contract * * @param address An expression that resolves to an address value * @param entrypoint Contract entrypoint * @param argumentType Entrypoint argument type * @param errorMsg The value to be included in the error trace * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression of type `TContract()`. */ export declare const ToContract: (address: IExpression, entrypoint?: string, argumentType?: IType, errorMsg?: IExpression, line?: LineInfo) => IExpression; /** * Cast an address to a typed contract. * * ```typescript * GetContract(Address('KT1R9M3MDffw7qSVSnbJs46aMC9YzzZz3aGT'), 'some_entrypoint', TNat()); * ``` * * @category Contract * * @param address An expression that resolves to an address value * @param entrypoint Contract entrypoint * @param argumentType Entrypoint argument type * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression of type `TOption(TContract(@argumentType))`. */ export declare const GetContract: (address: IExpression, entrypoint?: string, argumentType?: IType, line?: LineInfo) => IExpression; /** * Get the address of a contract value. * * ```typescript * ToAddress(GetSelf()); * ``` * * @category Contract * * @param contract An expression that evaluates to a contract value. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression of type `TAddress()`. */ export declare const ToAddress: (contract: IExpression, line?: LineInfo) => IExpression; /** * Create an implicit account. * * ```typescript * ImplicitAccount(Key_hash("tz1gTnKMA65qaKVpp6x4cgMLU2UyKF2zjHYN")); * ``` * * @category Contract * * @param key_hash An expression that evaluates to a public key hash value. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression of type `TContract(TUnit())`. */ export declare const ImplicitAccount: (key_hash: IExpression, line?: LineInfo) => IExpression;