import { ApiTypes, DecorateMethod, SubmittableResultImpl } from "../../api/types"; import { AccountId, Address } from "../../types/interfaces"; import { IKeyringPair } from "../../types/types"; import { ApiObject, ContractABIPre } from '../types'; import BN from 'bn.js'; import { Observable } from 'rxjs'; import { SubmittableResult } from "../../api"; import Abi from '../Abi'; import Blueprint from './Blueprint'; import { BaseWithTx } from './util'; declare type CodePutCodeResultSubscription = Observable>; export interface CodePutCode { signAndSend(account: IKeyringPair | string | AccountId | Address): CodePutCodeResultSubscription; } declare class CodePutCodeResult extends SubmittableResult { readonly blueprint?: Blueprint; constructor(result: SubmittableResultImpl, blueprint?: Blueprint); } export default class Code extends BaseWithTx { readonly code: Uint8Array; constructor(api: ApiObject, abi: ContractABIPre | Abi, decorateMethod: DecorateMethod, wasm: string | Uint8Array); createBlueprint: (maxGas: number | BN) => CodePutCode; private createResult; } export {};