import type { Account, Coin, DeployInfo, InstantiateInfo, TxnStdFee, UserAccount } from "../../types"; export interface ExecArgs { account: Account | UserAccount; transferAmount: readonly Coin[] | undefined; customFees: TxnStdFee | undefined; } export declare class Contract { readonly contractName: string; readonly contractPath: string; private readonly env; private client?; codeId: number; contractCodeHash: string; contractAddress: string; instantiateTag: string; private checkpointData; private readonly checkpointPath; constructor(contractName: string, instantiateTag?: string); setupClient(): Promise; deploy(account: Account | UserAccount, customFees?: TxnStdFee, source?: string, builder?: string): Promise; instantiatedWithAddress(address: string, timestamp?: Date | undefined): void; instantiate(initArgs: Record, label: string, account: Account | UserAccount, transferAmount?: Coin[], customFees?: TxnStdFee, contractAdmin?: string | undefined): Promise; queryMsg(msgData: Record): Promise; executeMsg(msgData: Record, account: Account | UserAccount, customFees?: TxnStdFee, memo?: string, transferAmount?: readonly Coin[]): Promise; }