import * as coreClient from "@azure/core-client";
export type OffChainUpdateUnion = OffChainUpdate | OffChainCallContract | OffChainDeposit | OffChainNewContract | OffChainTransfer | OffChainWithdrawal;
export interface Account {
    /** Base58Check encoded tagged pubkey */
    id: string;
    balance: bigint;
    nonce: number;
    /** Payable */
    payable?: boolean;
    kind?: AccountKind;
    /** Base58Check encoded tagged pubkey */
    contractId?: string;
    /** Name of authorization function for generalized account */
    authFun?: string;
}
export interface ErrorModel {
    reason: string;
    errorCode?: string;
}
export interface NextNonceResponse {
    nextNonce: number;
}
export interface SignedTxs {
    transactions: SignedTx[];
}
export interface SignedTx {
    /** A mix of all transaction types. */
    tx: Tx;
    blockHeight: number;
    /** Base58Check encoded tagged hash */
    blockHash: string;
    /** Base58Check encoded tagged hash */
    hash: string;
    /** Base64Check encoded tagged byte array */
    encodedTx?: string;
    /** At least one signature is required unless for Generalized Account Meta transactions */
    signatures: string[];
}
/** A mix of all transaction types. */
export interface Tx {
    /** Base58Check encoded tagged pubkey */
    recipientId?: string;
    amount?: bigint;
    fee: bigint;
    ttl?: number;
    /** Base58Check encoded tagged pubkey */
    senderId?: string;
    nonce?: number;
    /** Base64Check encoded tagged byte array */
    payload?: string;
    /** Base58Check encoded tagged pubkey */
    initiatorId?: string;
    initiatorAmount?: bigint;
    /** Base58Check encoded tagged pubkey */
    responderId?: string;
    responderAmount?: bigint;
    channelReserve?: bigint;
    lockPeriod?: number;
    /** Base58Check encoded tagged pubkey */
    stateHash?: string;
    delegateIds?: Delegates;
    /** Base58Check encoded tagged pubkey */
    channelId?: string;
    /** Base58Check encoded tagged pubkey */
    fromId?: string;
    round?: number;
    /** Base58Check encoded tagged pubkey */
    toId?: string;
    update?: OffChainUpdateUnion;
    /** Base64Check encoded tagged byte array */
    offchainTrees?: string;
    initiatorAmountFinal?: bigint;
    responderAmountFinal?: bigint;
    /** Base64Check encoded tagged byte array */
    poi?: string;
    initiatorDelegateIds?: string[];
    responderDelegateIds?: string[];
    queryFormat?: string;
    responseFormat?: string;
    queryFee?: bigint;
    oracleTtl?: RelativeTTL;
    /** Base58Check encoded tagged pubkey */
    accountId?: string;
    abiVersion?: number;
    /** Base58Check encoded tagged pubkey */
    oracleId?: string;
    query?: string;
    queryTtl?: Ttl;
    responseTtl?: RelativeTTL;
    /** Base58Check encoded tagged value */
    queryId?: string;
    response?: string;
    /** Base58Check encoded tagged value */
    commitmentId?: string;
    name?: string;
    nameSalt?: number;
    nameFee?: bigint;
    /** Base58Check encoded tagged value */
    nameId?: string;
    nameTtl?: number;
    pointers?: NamePointer[];
    clientTtl?: number;
    /** Base58Check encoded tagged pubkey */
    ownerId?: string;
    /** Base64Check encoded tagged byte array */
    code?: string;
    vmVersion?: number;
    deposit?: bigint;
    gas?: number;
    gasPrice?: bigint;
    /** Base64Check encoded tagged byte array */
    callData?: string;
    /** Base58Check encoded tagged pubkey */
    callerId?: string;
    /** Base58Check encoded tagged pubkey */
    contractId?: string;
    /** Contract authorization function hash (hex encoded) */
    authFun?: string;
    /** Base58Check encoded tagged pubkey */
    gaId?: string;
    /** Base64Check encoded tagged byte array */
    authData?: string;
    tx?: SignedTx;
    /** Base58Check encoded tagged pubkey */
    payerId?: string;
    version: number;
    type: TxType;
}
export interface Delegates {
    initiator?: string[];
    responder?: string[];
}
export interface OffChainUpdate {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    op: "OffChainCallContract" | "OffChainDeposit" | "OffChainNewContract" | "OffChainTransfer" | "OffChainWithdrawal";
}
export interface RelativeTTL {
    type: "delta";
    value: number;
}
export interface Ttl {
    type: TTLType;
    value: number;
}
export interface NamePointer {
    key: string;
    /** Base58Check encoded tagged value */
    encodedKey?: string;
    /** Base58Check encoded tagged pubkey */
    id: string;
}
export interface AuctionEntry {
    /** Base58Check encoded tagged value */
    id: string;
    startedAt: number;
    endsAt: number;
    /** Base58Check encoded tagged pubkey */
    highestBidder: string;
    highestBid: bigint;
}
export interface Channel {
    /** Base58Check encoded tagged pubkey */
    id: string;
    /** Base58Check encoded tagged pubkey */
    initiatorId: string;
    /** Base58Check encoded tagged pubkey */
    responderId: string;
    channelAmount: bigint;
    initiatorAmount: bigint;
    responderAmount: bigint;
    channelReserve: bigint;
    delegateIds: Delegates;
    /** Base58Check encoded tagged hash */
    stateHash: string;
    round: number;
    soloRound: number;
    lockPeriod: number;
    lockedUntil: number;
}
export interface ContractObject {
    /** Base58Check encoded tagged pubkey */
    id: string;
    /** Base58Check encoded tagged pubkey */
    ownerId: string;
    vmVersion: number;
    abiVersion: number;
    active: boolean;
    referrerIds: string[];
    deposit: bigint;
}
export interface ByteCode {
    /** Base64Check encoded tagged byte array */
    bytecode: `cb_${string}`;
}
export interface PoI {
    /** Base64Check encoded tagged byte array */
    poi: string;
}
export interface Currency {
    name: string;
    symbol: string;
    subunit: string;
    subunitsPerUnit: bigint;
    /** Use `fiat_conversion_url` instead */
    fiatConverstionUrl?: string;
    fiatConversionUrl?: string;
    logo?: Image;
    primaryColour: string;
    secondaryColour: string;
    networkName: string;
}
export interface Image {
    type?: string;
    data?: string;
}
export interface DryRunInput {
    /** Base58Check encoded tagged hash */
    top?: string;
    /** Accounts */
    accounts?: DryRunAccount[];
    /** Txs */
    txs: DryRunInputItem[];
    /** Collect and return on-chain tx events that would result from the call */
    txEvents?: boolean;
}
export interface DryRunAccount {
    /** Base58Check encoded tagged pubkey */
    pubKey: string;
    amount: bigint;
}
export interface DryRunInputItem {
    /** Base64Check encoded tagged byte array */
    tx?: string;
    /** Base58Check encoded tagged hash */
    txHash?: `th_${string}`;
    callReq?: DryRunCallReq;
}
export interface DryRunCallReq {
    /** Base64Check encoded tagged byte array */
    calldata: string;
    /** Base58Check encoded tagged pubkey */
    contract: string;
    amount?: bigint;
    gas?: number;
    /** Base58Check encoded tagged pubkey */
    caller?: string;
    nonce?: number;
    abiVersion?: number;
    context?: DryRunCallContext;
}
export interface DryRunCallContext {
    /** Base64Check encoded tagged byte array */
    tx?: string;
    /** Base58Check encoded tagged hash */
    txHash?: `th_${string}`;
    /** This call will have effects on the next call in this dry-run (or not) */
    stateful?: boolean;
}
export interface DryRunResults {
    /** results */
    results: DryRunResult[];
    /** on-chain tx events */
    txEvents?: Record<string, unknown>[];
}
export interface DryRunResult {
    type: string;
    result: string;
    reason?: string;
    callObj?: ContractCallObject;
}
export interface ContractCallObject {
    /** Base58Check encoded tagged pubkey */
    callerId: string;
    callerNonce: number;
    height: number;
    /** Base58Check encoded tagged pubkey */
    contractId: string;
    gasPrice: bigint;
    gasUsed: number;
    log: Event[];
    /** Base64Check encoded tagged byte array */
    returnValue: string;
    /** The status of the call 'ok | error | revert'. */
    returnType: ContractCallObjectReturnType;
}
export interface Event {
    /** Base58Check encoded tagged pubkey */
    address: string;
    /** Event topics */
    topics: bigint[];
    /** Base64Check encoded tagged byte array */
    data: string;
}
export interface Generation {
    keyBlock: KeyBlock;
    microBlocks: string[];
}
export interface KeyBlock {
    /** Base58Check encoded tagged hash */
    hash: string;
    height: number;
    /** Base58Check encoded tagged hash */
    prevHash: string;
    /** Base58Check encoded tagged hash */
    prevKeyHash: string;
    /** Base58Check encoded tagged hash */
    stateHash: string;
    /** Base58Check encoded tagged pubkey */
    miner: string;
    /** Base58Check encoded tagged pubkey */
    beneficiary: string;
    /** Base64Check encoded tagged byte array */
    flags: string;
    target: number;
    pow?: number[];
    nonce?: number;
    time: Date;
    version: number;
    /** Base64Check encoded tagged byte array */
    info: string;
}
/** A mix of KeyBlock, MicroBlockHeader properties. */
export interface Header {
    /** Base58Check encoded tagged hash */
    hash: string;
    height: number;
    /** Base58Check encoded tagged hash */
    prevHash: string;
    /** Base58Check encoded tagged hash */
    prevKeyHash: string;
    /** Base58Check encoded tagged hash */
    stateHash: string;
    /** Base58Check encoded tagged pubkey */
    miner?: string;
    /** Base58Check encoded tagged pubkey */
    beneficiary?: string;
    /** Base64Check encoded tagged byte array */
    flags?: string;
    target?: number;
    pow?: number[];
    nonce?: number;
    time: Date;
    version: number;
    /** Base64Check encoded tagged byte array */
    info?: string;
    /** Base58Check encoded tagged hash */
    pofHash?: string;
    /** Base58Check encoded tagged hash */
    txsHash?: string;
    /** Base58Check encoded tagged value */
    signature?: string;
}
export interface PinningTx {
    /** The epoch for which the pin is valid */
    epoch: number;
    /** the height of the pinned block (usually last block of ) */
    height: number;
    /** Base58Check encoded tagged hash */
    blockHash: string;
    /** this is the payload to post to the parent chain (standardized). Combines Epoch, Height and Hash. */
    parentPayload: string;
    /** The last leader in the epoch that could use this pin to collect the reward */
    lastLeader: string;
    /** chain type of parent (aeternity, btc, doge eventually supported) */
    parentType: string;
    /** the parent node id */
    parentNetworkId: string;
}
export interface HCContractPubkeys {
    /** Base58Check encoded tagged pubkey */
    staking: string;
    /** Base58Check encoded tagged pubkey */
    election?: string;
    /** Base58Check encoded tagged pubkey */
    rewards?: string;
}
export interface HashResponse {
    hash: string;
}
export interface HeightResponse {
    height: number;
}
export interface MicroBlockHeader {
    /** Base58Check encoded tagged hash */
    hash: string;
    height: number;
    /** Base58Check encoded tagged hash */
    pofHash: string;
    /** Base58Check encoded tagged hash */
    prevHash: string;
    /** Base58Check encoded tagged hash */
    prevKeyHash: string;
    /** Base58Check encoded tagged hash */
    stateHash: string;
    /** Base58Check encoded tagged hash */
    txsHash: string;
    /** Base58Check encoded tagged value */
    signature: string;
    time: Date;
    version: number;
}
export interface CountResponse {
    count: number;
}
export interface NameEntry {
    /** Base58Check encoded tagged value */
    id: string;
    /** Base58Check encoded tagged pubkey */
    owner?: string;
    ttl: number;
    pointers: NamePointerComplete[];
}
export interface NamePointerComplete {
    key: string;
    /** Base58Check encoded tagged value */
    encodedKey: string;
    /** Base58Check encoded tagged pubkey */
    id: string;
}
export interface RegisteredOracle {
    /** Base58Check encoded tagged pubkey */
    id: string;
    queryFormat: string;
    responseFormat: string;
    queryFee: bigint;
    ttl: number;
    abiVersion: number;
}
export interface OracleQueries {
    oracleQueries: OracleQuery[];
}
export interface OracleQuery {
    /** Base58Check encoded tagged value */
    id: string;
    /** Base58Check encoded tagged pubkey */
    senderId: string;
    senderNonce: number;
    /** Base58Check encoded tagged pubkey */
    oracleId: string;
    query: string;
    response: string;
    ttl: number;
    responseTtl: Ttl;
    fee: bigint;
}
export interface PeerPubKey {
    /** Base58Check encoded tagged pubkey */
    pubkey: string;
}
export interface GasPricesItem {
    /** Minimum gas price in the block range */
    minGasPrice: bigint;
    /** Percent of available gas used */
    utilization: number;
    /** Number of minutes from the top */
    minutes: number;
}
export interface Status {
    /** Base58Check encoded tagged hash */
    genesisKeyBlockHash: string;
    solutions: number;
    difficulty: number;
    hashrate: number;
    syncing: boolean;
    syncProgress?: number;
    uptime: string;
    listening: boolean;
    protocols: Protocol[];
    nodeVersion: string;
    nodeRevision: string;
    peerCount: number;
    peerConnections: PeerConnections;
    pendingTransactionsCount: number;
    networkId: string;
    /** Base58Check encoded tagged pubkey */
    peerPubkey: string;
    /** Base58Check encoded tagged hash */
    topKeyBlockHash: string;
    topBlockHeight: number;
}
export interface Protocol {
    version: number;
    effectiveAtHeight: number;
}
export interface PeerConnections {
    inbound: number;
    outbound: number;
}
export interface SyncStatus {
    progress: number;
    target: number;
    speed: number;
    estimate: number;
}
export interface EncodedTx {
    /** Base64Check encoded tagged byte array */
    tx: string;
}
export interface PostTxResponse {
    /** Base58Check encoded tagged hash */
    txHash: `th_${string}`;
}
export interface TxInfoObject {
    callInfo?: ContractCallObject;
    gaInfo?: GAObject;
    txInfo?: string;
}
export interface GAObject {
    /** Base58Check encoded tagged pubkey */
    callerId: string;
    height: number;
    gasPrice: bigint;
    gasUsed: number;
    /** Base64Check encoded tagged byte array */
    returnValue: string;
    /** The status of the call 'ok | error'. */
    returnType: GAObjectReturnType;
    innerObject?: TxInfoObject;
}
export interface ChannelCloseMutualTx {
    /** Base58Check encoded tagged pubkey */
    channelId: string;
    /** Base58Check encoded tagged pubkey */
    fromId: string;
    initiatorAmountFinal: bigint;
    responderAmountFinal: bigint;
    ttl?: number;
    fee: bigint;
    nonce: number;
}
export interface ChannelCloseSoloTx {
    /** Base58Check encoded tagged pubkey */
    channelId: string;
    /** Base58Check encoded tagged pubkey */
    fromId: string;
    /** Base64Check encoded tagged byte array */
    payload: string;
    ttl?: number;
    fee: bigint;
    nonce?: number;
    /** Base64Check encoded tagged byte array */
    poi: string;
}
export interface ChannelCreateTx {
    /** Base58Check encoded tagged pubkey */
    initiatorId: string;
    initiatorAmount: bigint;
    /** Base58Check encoded tagged pubkey */
    responderId: string;
    responderAmount: bigint;
    channelReserve: bigint;
    lockPeriod: number;
    ttl?: number;
    fee: bigint;
    nonce?: number;
    /** Base58Check encoded tagged hash */
    stateHash: string;
    delegateIds?: Delegates;
}
export interface ChannelDepositTx {
    /** Base58Check encoded tagged pubkey */
    channelId: string;
    /** Base58Check encoded tagged pubkey */
    fromId: string;
    amount: bigint;
    ttl?: number;
    fee: bigint;
    nonce: number;
    /** Base58Check encoded tagged hash */
    stateHash: string;
    round: number;
}
export interface ChannelForceProgressTx {
    /** Base58Check encoded tagged pubkey */
    channelId: string;
    /** Base58Check encoded tagged pubkey */
    fromId: string;
    /** Base64Check encoded tagged byte array */
    payload: string;
    round: number;
    update: OffChainUpdateUnion;
    /** Base58Check encoded tagged hash */
    stateHash: string;
    ttl?: number;
    fee: bigint;
    nonce?: number;
    /** Base64Check encoded tagged byte array */
    offchainTrees?: string;
}
export interface ChannelSetDelegatesTx {
    /** Base58Check encoded tagged pubkey */
    channelId: string;
    /** Base58Check encoded tagged pubkey */
    fromId: string;
    initiatorDelegateIds: string[];
    responderDelegateIds: string[];
    /** Base58Check encoded tagged pubkey */
    stateHash: string;
    round: number;
    /** Base64Check encoded tagged byte array */
    payload: string;
    ttl?: number;
    fee: bigint;
    nonce?: number;
}
export interface ChannelSettleTx {
    /** Base58Check encoded tagged pubkey */
    channelId: string;
    /** Base58Check encoded tagged pubkey */
    fromId: string;
    initiatorAmountFinal: bigint;
    responderAmountFinal: bigint;
    ttl?: number;
    fee: bigint;
    nonce: number;
}
export interface ChannelSlashTx {
    /** Base58Check encoded tagged pubkey */
    channelId: string;
    /** Base58Check encoded tagged pubkey */
    fromId: string;
    /** Base64Check encoded tagged byte array */
    payload: string;
    ttl?: number;
    fee: bigint;
    nonce?: number;
    /** Base64Check encoded tagged byte array */
    poi: string;
}
export interface ChannelSnapshotSoloTx {
    /** Base58Check encoded tagged pubkey */
    channelId: string;
    /** Base58Check encoded tagged pubkey */
    fromId: string;
    /** Base64Check encoded tagged byte array */
    payload: string;
    ttl?: number;
    fee: bigint;
    nonce?: number;
}
export interface ChannelWithdrawTx {
    /** Base58Check encoded tagged pubkey */
    channelId: string;
    /** Base58Check encoded tagged pubkey */
    toId: string;
    amount: bigint;
    ttl?: number;
    fee: bigint;
    nonce: number;
    /** Base58Check encoded tagged hash */
    stateHash: string;
    round: number;
}
export interface CheckTxInPoolResponse {
    status: string;
}
export interface CommitmentId {
    /** Base58Check encoded tagged value */
    commitmentId: string;
}
export interface ContractCallTx {
    /** Base58Check encoded tagged pubkey */
    callerId: string;
    nonce?: number;
    /** Base58Check encoded tagged pubkey */
    contractId: string;
    abiVersion: number;
    fee: bigint;
    ttl?: number;
    amount: bigint;
    gas: number;
    gasPrice: bigint;
    /** Base64Check encoded tagged byte array */
    callData: string;
}
export interface ContractCreateTx {
    /** Base58Check encoded tagged pubkey */
    ownerId: string;
    nonce?: number;
    /** Base64Check encoded tagged byte array */
    code: string;
    vmVersion: number;
    abiVersion: number;
    deposit: bigint;
    amount: bigint;
    gas: number;
    gasPrice: bigint;
    fee: bigint;
    ttl?: number;
    /** Base64Check encoded tagged byte array */
    callData: string;
}
export interface UnsignedTx {
    /** Base64Check encoded tagged byte array */
    tx: string;
}
export interface GAAttachTx {
    /** Base58Check encoded tagged pubkey */
    ownerId: string;
    nonce?: number;
    /** Base64Check encoded tagged byte array */
    code: string;
    vmVersion: number;
    abiVersion: number;
    gas: number;
    gasPrice: bigint;
    fee: bigint;
    ttl?: number;
    /** Base64Check encoded tagged byte array */
    callData: string;
    /** Contract authorization function hash (hex encoded) */
    authFun: string;
}
export interface GAMetaTx {
    /** Base58Check encoded tagged pubkey */
    gaId: string;
    abiVersion: number;
    gas: number;
    gasPrice: bigint;
    fee: bigint;
    ttl?: number;
    /** Base64Check encoded tagged byte array */
    authData: string;
    tx: SignedTx;
}
export interface NameClaimTx {
    name: string;
    nameSalt: number;
    nameFee?: bigint;
    fee: bigint;
    ttl?: number;
    /** Base58Check encoded tagged pubkey */
    accountId: string;
    nonce?: number;
}
export interface NameHash {
    /** Base58Check encoded tagged value */
    nameId: string;
}
export interface NamePreclaimTx {
    /** Base58Check encoded tagged value */
    commitmentId: string;
    fee: bigint;
    ttl?: number;
    /** Base58Check encoded tagged pubkey */
    accountId: string;
    nonce?: number;
}
export interface NameRevokeTx {
    /** Base58Check encoded tagged value */
    nameId: string;
    fee: bigint;
    ttl?: number;
    /** Base58Check encoded tagged pubkey */
    accountId: string;
    nonce?: number;
}
export interface NameTransferTx {
    /** Base58Check encoded tagged value */
    nameId: string;
    /** Base58Check encoded tagged pubkey */
    recipientId: string;
    fee: bigint;
    ttl?: number;
    /** Base58Check encoded tagged pubkey */
    accountId: string;
    nonce?: number;
}
export interface NameUpdateTx {
    /** Base58Check encoded tagged value */
    nameId: string;
    nameTtl: number;
    pointers: NamePointer[];
    clientTtl: number;
    fee: bigint;
    ttl?: number;
    /** Base58Check encoded tagged pubkey */
    accountId: string;
    nonce?: number;
}
export interface PeerDetails {
    /** Hostname of peer */
    host: string;
    port: number;
    firstSeen: number;
    lastSeen: number;
    /** Base58Check encoded tagged hash */
    genesisHash: string;
    /** Base58Check encoded tagged hash */
    topHash: string;
    topDifficulty: number;
    networkId?: string;
    nodeVersion?: string;
    nodeRevision?: string;
    nodeVendor?: string;
    nodeOs?: string;
}
export interface OracleExtendTx {
    fee: bigint;
    oracleTtl: RelativeTTL;
    /** Base58Check encoded tagged pubkey */
    oracleId: string;
    nonce?: number;
    ttl?: number;
}
export interface OracleQueryTx {
    /** Base58Check encoded tagged pubkey */
    oracleId: string;
    query: string;
    queryFee: bigint;
    queryTtl: Ttl;
    responseTtl: RelativeTTL;
    fee: bigint;
    ttl?: number;
    /** Base58Check encoded tagged pubkey */
    senderId: string;
    nonce?: number;
}
export interface OracleRegisterTx {
    queryFormat: string;
    responseFormat: string;
    queryFee: bigint;
    oracleTtl: Ttl;
    /** Base58Check encoded tagged pubkey */
    accountId: string;
    nonce?: number;
    fee: bigint;
    ttl?: number;
    abiVersion?: number;
}
export interface OracleRespondTx {
    /** Base58Check encoded tagged value */
    queryId: string;
    response: string;
    responseTtl: RelativeTTL;
    fee: bigint;
    ttl?: number;
    /** Base58Check encoded tagged pubkey */
    oracleId: string;
    nonce?: number;
}
export interface PayingForTx {
    /** Base58Check encoded tagged pubkey */
    payerId: string;
    fee: bigint;
    nonce?: number;
    tx: SignedTx;
}
export interface PeerCount {
    connected: PeerCountConnected;
    available: PeerCountAvailable;
    blocked: number;
}
export interface PeerCountConnected {
    inbound?: number;
    outbound?: number;
}
export interface PeerCountAvailable {
    verified?: number;
    unverified?: number;
}
export interface Peers {
    /** All discovered peers */
    peers: string[];
    /** All blocked peers */
    blocked: string[];
}
export interface PubKey {
    /** Base58Check encoded tagged pubkey */
    pubKey: string;
}
export interface SpendTx {
    /** Base58Check encoded tagged pubkey */
    recipientId: string;
    amount: bigint;
    fee: bigint;
    ttl?: number;
    /** Base58Check encoded tagged pubkey */
    senderId: string;
    nonce?: number;
    /** Base64Check encoded tagged byte array */
    payload: string;
}
export interface TokenSupply {
    accounts?: number;
    contracts?: number;
    contractOracles?: number;
    locked?: number;
    oracles?: number;
    oracleQueries?: number;
    pendingRewards?: number;
    total?: number;
}
export interface OffChainCallContract extends OffChainUpdate {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    op: "OffChainCallContract";
    /** Base58Check encoded tagged pubkey */
    caller: string;
    /** Base58Check encoded tagged pubkey */
    contract: string;
    abiVersion: number;
    amount: bigint;
    gas: number;
    gasPrice: bigint;
    /** Base64Check encoded tagged byte array */
    callData: string;
}
export interface OffChainDeposit extends OffChainUpdate {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    op: "OffChainDeposit";
    /** Base58Check encoded tagged pubkey */
    from: string;
    amount: bigint;
}
export interface OffChainNewContract extends OffChainUpdate {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    op: "OffChainNewContract";
    /** Base58Check encoded tagged pubkey */
    owner: string;
    vmVersion: number;
    abiVersion: number;
    code: ByteCode;
    deposit: bigint;
    /** Base64Check encoded tagged byte array */
    callData: string;
}
export interface OffChainTransfer extends OffChainUpdate {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    op: "OffChainTransfer";
    /** Base58Check encoded tagged pubkey */
    from: string;
    /** Base58Check encoded tagged pubkey */
    to: string;
    amount: bigint;
}
export interface OffChainWithdrawal extends OffChainUpdate {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    op: "OffChainWithdrawal";
    /** Base58Check encoded tagged pubkey */
    to: string;
    amount: bigint;
}
export interface CreateContractUnsignedTx extends UnsignedTx {
    /** Base58Check encoded tagged pubkey */
    contractId: string;
}
/** Defines values for AccountKind. */
export type AccountKind = "basic" | "generalized";
/** Defines values for Enum1. */
export type Enum1 = "max" | "continuity";
/** Defines values for TTLType. */
export type TTLType = "delta" | "block";
/** Defines values for TxType. */
export type TxType = "SpendTx" | "ChannelCreateTx" | "ChannelDepositTx" | "ChannelWithdrawTx" | "ChannelForceProgressTx" | "ChannelCloseMutualTx" | "ChannelCloseSoloTx" | "ChannelSlashTx" | "ChannelSettleTx" | "ChannelSnapshotSoloTx" | "ChannelSetDelegatesTx" | "OracleRegisterTx" | "OracleExtendTx" | "OracleQueryTx" | "OracleRespondTx" | "NamePreclaimTx" | "NameClaimTx" | "NameUpdateTx" | "NameTransferTx" | "NameRevokeTx" | "ContractCreateTx" | "ContractCallTx" | "GAAttachTx" | "GAMetaTx" | "PayingForTx";
/** Defines values for ContractCallObjectReturnType. */
export type ContractCallObjectReturnType = "ok" | "error" | "revert";
/** Defines values for Enum5. */
export type Enum5 = "open" | "closed" | "all";
/** Defines values for GAObjectReturnType. */
export type GAObjectReturnType = "ok" | "error";
/** Optional parameters. */
export interface GetAccountByPubkeyOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getAccountByPubkey operation. */
export type GetAccountByPubkeyResponse = Account;
/** Optional parameters. */
export interface GetAccountByPubkeyAndHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getAccountByPubkeyAndHash operation. */
export type GetAccountByPubkeyAndHashResponse = Account;
/** Optional parameters. */
export interface GetAccountByPubkeyAndHeightOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getAccountByPubkeyAndHeight operation. */
export type GetAccountByPubkeyAndHeightResponse = Account;
/** Optional parameters. */
export interface GetAccountNextNonceOptionalParams extends coreClient.OperationOptions {
    /** What strategy to use in order to determine the next nonce: shall it check for continuity or return the largest nonce seen + 1. If you choose strategy max, then the greatest nonce seen in the account or currently in the transaction pool is incremented with 1 and returned. If you choose the strategy continuity, then transactions in the mempool are checked if there are gaps - missing nonces that prevent transactions with greater nonces to get included. */
    strategy?: Enum1;
}
/** Contains response data for the getAccountNextNonce operation. */
export type GetAccountNextNonceResponse = NextNonceResponse;
/** Optional parameters. */
export interface GetPendingAccountTransactionsByPubkeyOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getPendingAccountTransactionsByPubkey operation. */
export type GetPendingAccountTransactionsByPubkeyResponse = SignedTxs;
/** Optional parameters. */
export interface GetAuctionEntryByNameOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getAuctionEntryByName operation. */
export type GetAuctionEntryByNameResponse = AuctionEntry;
/** Optional parameters. */
export interface GetChannelByPubkeyOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getChannelByPubkey operation. */
export type GetChannelByPubkeyResponse = Channel;
/** Optional parameters. */
export interface GetContractOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getContract operation. */
export type GetContractResponse = ContractObject;
/** Optional parameters. */
export interface GetContractCodeOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getContractCode operation. */
export type GetContractCodeResponse = ByteCode;
/** Optional parameters. */
export interface GetContractPoIOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getContractPoI operation. */
export type GetContractPoIResponse = PoI;
/** Optional parameters. */
export interface GetCurrencyOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getCurrency operation. */
export type GetCurrencyResponse = Currency;
/** Optional parameters. */
export interface ProtectedDryRunTxsOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the protectedDryRunTxs operation. */
export type ProtectedDryRunTxsResponse = DryRunResults;
/** Optional parameters. */
export interface GetCurrentGenerationOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getCurrentGeneration operation. */
export type GetCurrentGenerationResponse = Generation;
/** Optional parameters. */
export interface GetGenerationByHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getGenerationByHash operation. */
export type GetGenerationByHashResponse = Generation;
/** Optional parameters. */
export interface GetGenerationByHeightOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getGenerationByHeight operation. */
export type GetGenerationByHeightResponse = Generation;
/** Optional parameters. */
export interface GetTopHeaderOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getTopHeader operation. */
export type GetTopHeaderResponse = Header;
/** Optional parameters. */
export interface GetPinningTxOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getPinningTx operation. */
export type GetPinningTxResponse = PinningTx;
/** Optional parameters. */
export interface GetHyperchainContractPubkeysOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getHyperchainContractPubkeys operation. */
export type GetHyperchainContractPubkeysResponse = HCContractPubkeys;
/** Optional parameters. */
export interface GetCurrentKeyBlockOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getCurrentKeyBlock operation. */
export type GetCurrentKeyBlockResponse = KeyBlock;
/** Optional parameters. */
export interface GetCurrentKeyBlockHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getCurrentKeyBlockHash operation. */
export type GetCurrentKeyBlockHashResponse = HashResponse;
/** Optional parameters. */
export interface GetCurrentKeyBlockHeightOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getCurrentKeyBlockHeight operation. */
export type GetCurrentKeyBlockHeightResponse = HeightResponse;
/** Optional parameters. */
export interface GetKeyBlockByHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getKeyBlockByHash operation. */
export type GetKeyBlockByHashResponse = KeyBlock;
/** Optional parameters. */
export interface GetKeyBlockByHeightOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getKeyBlockByHeight operation. */
export type GetKeyBlockByHeightResponse = KeyBlock;
/** Optional parameters. */
export interface GetPendingKeyBlockOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getPendingKeyBlock operation. */
export type GetPendingKeyBlockResponse = KeyBlock;
/** Optional parameters. */
export interface GetMicroBlockHeaderByHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getMicroBlockHeaderByHash operation. */
export type GetMicroBlockHeaderByHashResponse = MicroBlockHeader;
/** Optional parameters. */
export interface GetMicroBlockTransactionsByHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getMicroBlockTransactionsByHash operation. */
export type GetMicroBlockTransactionsByHashResponse = SignedTxs;
/** Optional parameters. */
export interface GetMicroBlockTransactionsCountByHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getMicroBlockTransactionsCountByHash operation. */
export type GetMicroBlockTransactionsCountByHashResponse = CountResponse;
/** Optional parameters. */
export interface GetMicroBlockTransactionByHashAndIndexOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getMicroBlockTransactionByHashAndIndex operation. */
export type GetMicroBlockTransactionByHashAndIndexResponse = SignedTx;
/** Optional parameters. */
export interface GetNameEntryByNameOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getNameEntryByName operation. */
export type GetNameEntryByNameResponse = NameEntry;
/** Optional parameters. */
export interface GetNameEntryByNameHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getNameEntryByNameHash operation. */
export type GetNameEntryByNameHashResponse = NameEntry;
/** Optional parameters. */
export interface GetOracleByPubkeyOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getOracleByPubkey operation. */
export type GetOracleByPubkeyResponse = RegisteredOracle;
/** Optional parameters. */
export interface GetOracleQueriesByPubkeyOptionalParams extends coreClient.OperationOptions {
    /** Last query id in previous page */
    from?: string;
    /** Max number of oracle queries */
    limit?: number;
    /** The type of a query: open, closed or all */
    type?: Enum5;
}
/** Contains response data for the getOracleQueriesByPubkey operation. */
export type GetOracleQueriesByPubkeyResponse = OracleQueries;
/** Optional parameters. */
export interface GetOracleQueryByPubkeyAndQueryIdOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getOracleQueryByPubkeyAndQueryId operation. */
export type GetOracleQueryByPubkeyAndQueryIdResponse = OracleQuery;
/** Optional parameters. */
export interface GetPeerPubkeyOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getPeerPubkey operation. */
export type GetPeerPubkeyResponse = PeerPubKey;
/** Optional parameters. */
export interface GetRecentGasPricesOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getRecentGasPrices operation. */
export type GetRecentGasPricesResponse = GasPricesItem[];
/** Optional parameters. */
export interface GetStatusOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getStatus operation. */
export type GetStatusResponse = Status;
/** Optional parameters. */
export interface GetChainEndsOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getChainEnds operation. */
export type GetChainEndsResponse = {
    /** The parsed response body. */
    body: string[];
};
/** Optional parameters. */
export interface GetSyncStatusOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getSyncStatus operation. */
export type GetSyncStatusResponse = SyncStatus;
/** Optional parameters. */
export interface PostTransactionOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the postTransaction operation. */
export type PostTransactionResponse = PostTxResponse;
/** Optional parameters. */
export interface GetTransactionByHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getTransactionByHash operation. */
export type GetTransactionByHashResponse = SignedTx;
/** Optional parameters. */
export interface GetTransactionInfoByHashOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getTransactionInfoByHash operation. */
export type GetTransactionInfoByHashResponse = TxInfoObject;
/** Optional parameters. */
export interface NodeOptionalParams extends coreClient.ServiceClientOptions {
    /** Overrides client endpoint. */
    endpoint?: string;
}
