import * as t from 'io-ts';
export declare enum EthereumAddressFormat {
    Lowercase = "lowercase",
    Checksum = "checksum"
}
export declare const EthereumAddressFormatT: t.Type<EthereumAddressFormat, EthereumAddressFormat, unknown>;
export declare type EthTxType = 'ETHEREUM_TRANSFER' | 'CONTRACT_DEPLOY' | 'TOKEN_SWEEP' | 'TOKEN_TRANSFER';
export declare const EthereumSignatory: t.TypeC<{
    address: t.StringC;
    keys: t.TypeC<{
        pub: t.StringC;
        prv: t.StringC;
    }>;
    xkeys: t.TypeC<{
        xprv: t.StringC;
        xpub: t.StringC;
    }>;
}>;
export declare type EthereumSignatory = t.TypeOf<typeof EthereumSignatory>;
export declare const EthereumPaymentsUtilsConfig: t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>;
export declare type EthereumPaymentsUtilsConfig = t.TypeOf<typeof EthereumPaymentsUtilsConfig>;
export declare const BaseEthereumPaymentsConfig: t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>;
export declare type BaseEthereumPaymentsConfig = t.TypeOf<typeof BaseEthereumPaymentsConfig>;
export declare const HdEthereumPaymentsConfig: t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    hdKey: t.StringC;
}>]>;
export declare type HdEthereumPaymentsConfig = t.TypeOf<typeof HdEthereumPaymentsConfig>;
export declare const KeyPairEthereumPaymentsConfig: t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    keyPairs: t.UnionC<[t.ArrayC<t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>, t.RecordC<t.NumberC, t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>]>;
}>]>;
export declare type KeyPairEthereumPaymentsConfig = t.TypeOf<typeof KeyPairEthereumPaymentsConfig>;
export declare const BaseErc20PaymentsConfig: t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    tokenAddress: t.StringC;
}>, t.PartialC<{
    masterAddress: t.StringC;
}>]>;
export declare type BaseErc20PaymentsConfig = t.TypeOf<typeof BaseErc20PaymentsConfig>;
export declare const HdErc20PaymentsConfig: t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    tokenAddress: t.StringC;
}>, t.PartialC<{
    masterAddress: t.StringC;
}>]>, t.TypeC<{
    hdKey: t.StringC;
}>]>;
export declare type HdErc20PaymentsConfig = t.TypeOf<typeof HdErc20PaymentsConfig>;
export declare const KeyPairErc20PaymentsConfig: t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    tokenAddress: t.StringC;
}>, t.PartialC<{
    masterAddress: t.StringC;
}>]>, t.TypeC<{
    keyPairs: t.UnionC<[t.ArrayC<t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>, t.RecordC<t.NumberC, t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>]>;
}>]>;
export declare type KeyPairErc20PaymentsConfig = t.TypeOf<typeof KeyPairErc20PaymentsConfig>;
export declare const Erc20PaymentsConfig: t.UnionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    tokenAddress: t.StringC;
}>, t.PartialC<{
    masterAddress: t.StringC;
}>]>, t.TypeC<{
    hdKey: t.StringC;
}>]>, t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    tokenAddress: t.StringC;
}>, t.PartialC<{
    masterAddress: t.StringC;
}>]>, t.TypeC<{
    keyPairs: t.UnionC<[t.ArrayC<t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>, t.RecordC<t.NumberC, t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>]>;
}>]>]>;
export declare type Erc20PaymentsConfig = t.TypeOf<typeof Erc20PaymentsConfig>;
export declare const EthereumPaymentsConfig: t.UnionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    hdKey: t.StringC;
}>]>, t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    keyPairs: t.UnionC<[t.ArrayC<t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>, t.RecordC<t.NumberC, t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>]>;
}>]>, t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    tokenAddress: t.StringC;
}>, t.PartialC<{
    masterAddress: t.StringC;
}>]>, t.TypeC<{
    hdKey: t.StringC;
}>]>, t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.PartialC<{
    network: t.Type<import("@faast/payments-common").NetworkType, import("@faast/payments-common").NetworkType, unknown>;
    logger: import("@faast/ts-common").LoggerC;
}>, t.PartialC<{
    fullNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    parityNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    blockbookNode: t.UnionC<[t.StringC, t.UndefinedC]>;
    gasStation: t.UnionC<[t.StringC, t.UndefinedC]>;
    symbol: t.UnionC<[t.StringC, t.UndefinedC]>;
    name: t.UnionC<[t.StringC, t.UndefinedC]>;
    decimals: t.NumberC;
    providerOptions: t.AnyC;
    web3: t.AnyC;
}>]>, t.PartialC<{
    depositKeyIndex: t.UnionC<[t.NumberC, t.UndefinedC]>;
}>]>, t.TypeC<{
    tokenAddress: t.StringC;
}>, t.PartialC<{
    masterAddress: t.StringC;
}>]>, t.TypeC<{
    keyPairs: t.UnionC<[t.ArrayC<t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>, t.RecordC<t.NumberC, t.UnionC<[t.StringC, t.NullC, t.UndefinedC]>>]>;
}>]>]>;
export declare type EthereumPaymentsConfig = t.TypeOf<typeof EthereumPaymentsConfig>;
export declare const EthereumTransactionOptions: t.IntersectionC<[t.IntersectionC<[t.UnionC<[t.IntersectionC<[t.TypeC<{
    feeRate: t.StringC;
    feeRateType: t.Type<import("@faast/payments-common").FeeRateType, import("@faast/payments-common").FeeRateType, unknown>;
}>, t.PartialC<{
    feeLevel: t.LiteralC<import("@faast/payments-common").FeeLevel.Custom>;
}>]>, t.PartialC<{
    feeLevel: t.UnionC<[t.LiteralC<import("@faast/payments-common").FeeLevel.High>, t.LiteralC<import("@faast/payments-common").FeeLevel.Medium>, t.LiteralC<import("@faast/payments-common").FeeLevel.Low>]>;
}>]>, t.PartialC<{
    sequenceNumber: t.UnionC<[t.StringC, t.NumberC, import("@faast/ts-common").BigNumberC]>;
    payportBalance: t.UnionC<[t.StringC, t.NumberC, import("@faast/ts-common").BigNumberC]>;
    forcedUtxos: t.ArrayC<t.IntersectionC<[t.TypeC<{
        txid: t.StringC;
        vout: t.NumberC;
        value: t.StringC;
    }>, t.PartialC<{
        satoshis: t.UnionC<[t.NumberC, t.StringC]>;
        confirmations: t.NumberC;
        height: t.StringC;
        lockTime: t.StringC;
        coinbase: t.BooleanC;
        txHex: t.StringC;
        scriptPubKeyHex: t.StringC;
        address: t.StringC;
        spent: t.BooleanC;
    }>]>>;
    availableUtxos: t.ArrayC<t.IntersectionC<[t.TypeC<{
        txid: t.StringC;
        vout: t.NumberC;
        value: t.StringC;
    }>, t.PartialC<{
        satoshis: t.UnionC<[t.NumberC, t.StringC]>;
        confirmations: t.NumberC;
        height: t.StringC;
        lockTime: t.StringC;
        coinbase: t.BooleanC;
        txHex: t.StringC;
        scriptPubKeyHex: t.StringC;
        address: t.StringC;
        spent: t.BooleanC;
    }>]>>;
    useAllUtxos: t.BooleanC;
    useUnconfirmedUtxos: t.BooleanC;
    recipientPaysFee: t.BooleanC;
    maxFeePercent: t.UnionC<[t.StringC, t.NumberC, import("@faast/ts-common").BigNumberC]>;
}>]>, t.PartialC<{
    data: t.StringC;
    gas: t.UnionC<[t.StringC, t.NumberC, import("@faast/ts-common").BigNumberC]>;
    proxyAddress: t.StringC;
}>]>;
export declare type EthereumTransactionOptions = t.TypeOf<typeof EthereumTransactionOptions>;
export declare const EthereumUnsignedTransaction: t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.TypeC<{
    status: t.Type<import("@faast/payments-common").TransactionStatus, import("@faast/payments-common").TransactionStatus, unknown>;
    id: t.UnionC<[t.StringC, t.NullC]>;
    fromAddress: t.UnionC<[t.StringC, t.NullC]>;
    toAddress: t.UnionC<[t.StringC, t.NullC]>;
    fromIndex: t.UnionC<[t.NumberC, t.NullC]>;
    toIndex: t.UnionC<[t.NumberC, t.NullC]>;
    amount: t.UnionC<[t.StringC, t.NullC]>;
    fee: t.UnionC<[t.StringC, t.NullC]>;
}>, t.PartialC<{
    fromExtraId: t.UnionC<[t.StringC, t.NullC]>;
    toExtraId: t.UnionC<[t.StringC, t.NullC]>;
    sequenceNumber: t.UnionC<[t.UnionC<[t.StringC, t.NumberC]>, t.NullC]>;
    inputUtxos: t.ArrayC<t.IntersectionC<[t.TypeC<{
        txid: t.StringC;
        vout: t.NumberC;
        value: t.StringC;
    }>, t.PartialC<{
        satoshis: t.UnionC<[t.NumberC, t.StringC]>;
        confirmations: t.NumberC;
        height: t.StringC;
        lockTime: t.StringC;
        coinbase: t.BooleanC;
        txHex: t.StringC;
        scriptPubKeyHex: t.StringC;
        address: t.StringC;
        spent: t.BooleanC;
    }>]>>;
    outputUtxos: t.ArrayC<t.IntersectionC<[t.TypeC<{
        txid: t.StringC;
        vout: t.NumberC;
        value: t.StringC;
    }>, t.PartialC<{
        satoshis: t.UnionC<[t.NumberC, t.StringC]>;
        confirmations: t.NumberC;
        height: t.StringC;
        lockTime: t.StringC;
        coinbase: t.BooleanC;
        txHex: t.StringC;
        scriptPubKeyHex: t.StringC;
        address: t.StringC;
        spent: t.BooleanC;
    }>]>>;
    externalOutputs: t.ArrayC<t.IntersectionC<[t.TypeC<{
        address: t.StringC;
        value: t.StringC;
    }>, t.PartialC<{
        extraId: t.UnionC<[t.StringC, t.NullC]>;
    }>]>>;
    weight: t.NumberC;
}>]>, t.TypeC<{
    fromAddress: t.StringC;
    toAddress: t.StringC;
    fromIndex: t.NumberC;
    targetFeeLevel: t.Type<import("@faast/payments-common").FeeLevel, import("@faast/payments-common").FeeLevel, unknown>;
    targetFeeRate: t.UnionC<[t.StringC, t.NullC]>;
    targetFeeRateType: t.UnionC<[t.Type<import("@faast/payments-common").FeeRateType, import("@faast/payments-common").FeeRateType, unknown>, t.NullC]>;
}>, t.PartialC<{
    multisigData: t.TypeC<{
        m: t.NumberC;
        accountIds: t.ArrayC<t.StringC>;
        publicKeys: t.ArrayC<t.StringC>;
        signedAccountIds: t.ArrayC<t.StringC>;
    }>;
}>]>, t.TypeC<{
    status: t.LiteralC<import("@faast/payments-common").TransactionStatus.Unsigned>;
    data: t.ObjectC;
}>]>, t.TypeC<{
    amount: t.StringC;
    fee: t.StringC;
}>]>;
export declare type EthereumUnsignedTransaction = t.TypeOf<typeof EthereumUnsignedTransaction>;
export declare const EthereumSignedTransaction: t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.TypeC<{
    status: t.Type<import("@faast/payments-common").TransactionStatus, import("@faast/payments-common").TransactionStatus, unknown>;
    id: t.UnionC<[t.StringC, t.NullC]>;
    fromAddress: t.UnionC<[t.StringC, t.NullC]>;
    toAddress: t.UnionC<[t.StringC, t.NullC]>;
    fromIndex: t.UnionC<[t.NumberC, t.NullC]>;
    toIndex: t.UnionC<[t.NumberC, t.NullC]>;
    amount: t.UnionC<[t.StringC, t.NullC]>;
    fee: t.UnionC<[t.StringC, t.NullC]>;
}>, t.PartialC<{
    fromExtraId: t.UnionC<[t.StringC, t.NullC]>;
    toExtraId: t.UnionC<[t.StringC, t.NullC]>;
    sequenceNumber: t.UnionC<[t.UnionC<[t.StringC, t.NumberC]>, t.NullC]>;
    inputUtxos: t.ArrayC<t.IntersectionC<[t.TypeC<{
        txid: t.StringC;
        vout: t.NumberC;
        value: t.StringC;
    }>, t.PartialC<{
        satoshis: t.UnionC<[t.NumberC, t.StringC]>;
        confirmations: t.NumberC;
        height: t.StringC;
        lockTime: t.StringC;
        coinbase: t.BooleanC;
        txHex: t.StringC;
        scriptPubKeyHex: t.StringC;
        address: t.StringC;
        spent: t.BooleanC;
    }>]>>;
    outputUtxos: t.ArrayC<t.IntersectionC<[t.TypeC<{
        txid: t.StringC;
        vout: t.NumberC;
        value: t.StringC;
    }>, t.PartialC<{
        satoshis: t.UnionC<[t.NumberC, t.StringC]>;
        confirmations: t.NumberC;
        height: t.StringC;
        lockTime: t.StringC;
        coinbase: t.BooleanC;
        txHex: t.StringC;
        scriptPubKeyHex: t.StringC;
        address: t.StringC;
        spent: t.BooleanC;
    }>]>>;
    externalOutputs: t.ArrayC<t.IntersectionC<[t.TypeC<{
        address: t.StringC;
        value: t.StringC;
    }>, t.PartialC<{
        extraId: t.UnionC<[t.StringC, t.NullC]>;
    }>]>>;
    weight: t.NumberC;
}>]>, t.TypeC<{
    fromAddress: t.StringC;
    toAddress: t.StringC;
    fromIndex: t.NumberC;
    targetFeeLevel: t.Type<import("@faast/payments-common").FeeLevel, import("@faast/payments-common").FeeLevel, unknown>;
    targetFeeRate: t.UnionC<[t.StringC, t.NullC]>;
    targetFeeRateType: t.UnionC<[t.Type<import("@faast/payments-common").FeeRateType, import("@faast/payments-common").FeeRateType, unknown>, t.NullC]>;
}>, t.PartialC<{
    multisigData: t.TypeC<{
        m: t.NumberC;
        accountIds: t.ArrayC<t.StringC>;
        publicKeys: t.ArrayC<t.StringC>;
        signedAccountIds: t.ArrayC<t.StringC>;
    }>;
}>]>, t.TypeC<{
    status: t.LiteralC<import("@faast/payments-common").TransactionStatus.Signed>;
    id: t.StringC;
    amount: t.StringC;
    fee: t.StringC;
    data: t.ObjectC;
}>]>, t.TypeC<{
    data: t.TypeC<{
        hex: t.StringC;
    }>;
}>]>;
export declare type EthereumSignedTransaction = t.TypeOf<typeof EthereumSignedTransaction>;
export declare const EthereumTransactionInfo: t.IntersectionC<[t.IntersectionC<[t.TypeC<{
    status: t.Type<import("@faast/payments-common").TransactionStatus, import("@faast/payments-common").TransactionStatus, unknown>;
    id: t.UnionC<[t.StringC, t.NullC]>;
    fromAddress: t.UnionC<[t.StringC, t.NullC]>;
    toAddress: t.UnionC<[t.StringC, t.NullC]>;
    fromIndex: t.UnionC<[t.NumberC, t.NullC]>;
    toIndex: t.UnionC<[t.NumberC, t.NullC]>;
    amount: t.UnionC<[t.StringC, t.NullC]>;
    fee: t.UnionC<[t.StringC, t.NullC]>;
}>, t.PartialC<{
    fromExtraId: t.UnionC<[t.StringC, t.NullC]>;
    toExtraId: t.UnionC<[t.StringC, t.NullC]>;
    sequenceNumber: t.UnionC<[t.UnionC<[t.StringC, t.NumberC]>, t.NullC]>;
    inputUtxos: t.ArrayC<t.IntersectionC<[t.TypeC<{
        txid: t.StringC;
        vout: t.NumberC;
        value: t.StringC;
    }>, t.PartialC<{
        satoshis: t.UnionC<[t.NumberC, t.StringC]>;
        confirmations: t.NumberC;
        height: t.StringC;
        lockTime: t.StringC;
        coinbase: t.BooleanC;
        txHex: t.StringC;
        scriptPubKeyHex: t.StringC;
        address: t.StringC;
        spent: t.BooleanC;
    }>]>>;
    outputUtxos: t.ArrayC<t.IntersectionC<[t.TypeC<{
        txid: t.StringC;
        vout: t.NumberC;
        value: t.StringC;
    }>, t.PartialC<{
        satoshis: t.UnionC<[t.NumberC, t.StringC]>;
        confirmations: t.NumberC;
        height: t.StringC;
        lockTime: t.StringC;
        coinbase: t.BooleanC;
        txHex: t.StringC;
        scriptPubKeyHex: t.StringC;
        address: t.StringC;
        spent: t.BooleanC;
    }>]>>;
    externalOutputs: t.ArrayC<t.IntersectionC<[t.TypeC<{
        address: t.StringC;
        value: t.StringC;
    }>, t.PartialC<{
        extraId: t.UnionC<[t.StringC, t.NullC]>;
    }>]>>;
    weight: t.NumberC;
}>]>, t.TypeC<{
    id: t.StringC;
    amount: t.StringC;
    fee: t.StringC;
    isExecuted: t.BooleanC;
    isConfirmed: t.BooleanC;
    confirmations: t.NumberC;
    confirmationId: t.UnionC<[t.StringC, t.NullC]>;
    confirmationTimestamp: t.UnionC<[import("@faast/ts-common").DateC, t.NullC]>;
    data: t.ObjectC;
}>, t.PartialC<{
    currentBlockNumber: t.UnionC<[t.StringC, t.NumberC]>;
    confirmationNumber: t.UnionC<[t.StringC, t.NumberC]>;
}>]>;
export declare type EthereumTransactionInfo = t.TypeOf<typeof EthereumTransactionInfo>;
export declare const EthereumBroadcastResult: t.TypeC<{
    id: t.StringC;
}>;
export declare type EthereumBroadcastResult = t.TypeOf<typeof EthereumBroadcastResult>;
export declare const EthereumResolvedFeeOption: t.IntersectionC<[t.TypeC<{
    targetFeeLevel: t.Type<import("@faast/payments-common").FeeLevel, import("@faast/payments-common").FeeLevel, unknown>;
    targetFeeRate: t.StringC;
    targetFeeRateType: t.Type<import("@faast/payments-common").FeeRateType, import("@faast/payments-common").FeeRateType, unknown>;
    feeBase: t.StringC;
    feeMain: t.StringC;
}>, t.TypeC<{
    gasPrice: t.StringC;
}>]>;
export declare type EthereumResolvedFeeOption = t.TypeOf<typeof EthereumResolvedFeeOption>;
export declare const EthereumFeeOption: t.IntersectionC<[t.UnionC<[t.IntersectionC<[t.TypeC<{
    feeRate: t.StringC;
    feeRateType: t.Type<import("@faast/payments-common").FeeRateType, import("@faast/payments-common").FeeRateType, unknown>;
}>, t.PartialC<{
    feeLevel: t.LiteralC<import("@faast/payments-common").FeeLevel.Custom>;
}>]>, t.PartialC<{
    feeLevel: t.UnionC<[t.LiteralC<import("@faast/payments-common").FeeLevel.High>, t.LiteralC<import("@faast/payments-common").FeeLevel.Medium>, t.LiteralC<import("@faast/payments-common").FeeLevel.Low>]>;
}>]>, t.PartialC<{
    isSweep: t.BooleanC;
}>]>;
export declare type EthereumFeeOption = t.TypeOf<typeof EthereumFeeOption>;
export declare const EthereumFeeOptionCustom: t.IntersectionC<[t.IntersectionC<[t.TypeC<{
    feeRate: t.StringC;
    feeRateType: t.Type<import("@faast/payments-common").FeeRateType, import("@faast/payments-common").FeeRateType, unknown>;
}>, t.PartialC<{
    feeLevel: t.LiteralC<import("@faast/payments-common").FeeLevel.Custom>;
}>]>, t.PartialC<{
    isSweep: t.BooleanC;
}>]>;
export declare type EthereumFeeOptionCustom = t.TypeOf<typeof EthereumFeeOptionCustom>;
export declare const BaseDenominationOptions: t.IntersectionC<[t.ObjectC, t.PartialC<{
    rounding: t.UnionC<[t.LiteralC<1>, t.LiteralC<2>, t.LiteralC<3>, t.LiteralC<4>, t.LiteralC<5>, t.LiteralC<6>, t.LiteralC<7>, t.LiteralC<8>]>;
}>]>;
export declare type BaseDenominationOptions = t.TypeOf<typeof BaseDenominationOptions>;
