import type { Coin } from "@cosmjs/amino"; /** Execute a single CosmWasm contract message */ export declare function executeContract(contractAddr: string, msg: Record, funds?: Coin[], memo?: string): Promise<{ txHash: string; height: number; gasUsed: bigint; gasWanted: bigint; sender: string; contract: string; }>; /** Upload wasm bytecode. Returns code ID. */ export declare function uploadCode(wasmBytecode: Uint8Array, memo?: string): Promise<{ codeId: number; txHash: string; height: number; gasUsed: bigint; gasWanted: bigint; checksum: string; sender: string; }>; /** Upload wasm bytecode from a file path. Returns code ID. */ export declare function uploadCodeFromFile(filePath: string, memo?: string): Promise<{ codeId: number; txHash: string; height: number; gasUsed: bigint; gasWanted: bigint; checksum: string; sender: string; }>; /** Instantiate a contract from a code ID */ export declare function instantiateContract(codeId: number, msg: Record, label: string, funds?: Coin[], admin?: string, memo?: string): Promise<{ contractAddress: string; txHash: string; height: number; gasUsed: bigint; gasWanted: bigint; codeId: number; label: string; sender: string; }>; /** Migrate a contract to a new code ID */ export declare function migrateContract(contractAddr: string, newCodeId: number, msg: Record, memo?: string): Promise<{ txHash: string; height: number; gasUsed: bigint; gasWanted: bigint; sender: string; contract: string; newCodeId: number; }>; /** Update the admin of a contract */ export declare function updateContractAdmin(contractAddr: string, newAdmin: string, memo?: string): Promise<{ txHash: string; height: number; gasUsed: bigint; gasWanted: bigint; sender: string; contract: string; newAdmin: string; }>; /** Clear the admin of a contract (makes it immutable) */ export declare function clearContractAdmin(contractAddr: string, memo?: string): Promise<{ txHash: string; height: number; gasUsed: bigint; gasWanted: bigint; sender: string; contract: string; note: string; }>; /** Execute multiple contract messages in a single transaction */ export declare function executeContractMulti(operations: Array<{ contract: string; msg: Record; funds?: Coin[]; }>, memo?: string): Promise<{ txHash: string; height: number; gasUsed: bigint; gasWanted: bigint; sender: string; operationCount: number; }>;