export interface BatchGetTokenBalanceInputItem {
    tokenIdentifier: any;
    ownerIdentifier: any;
    atBlockchainInstant?: any;
}
export interface ContractIdentifier {
    /** The blockchain network of the contract. */
    network: 'ETHEREUM_MAINNET' | 'ETHEREUM_SEPOLIA_TESTNET' | 'BITCOIN_MAINNET' | 'BITCOIN_TESTNET';
    /** Container for the blockchain address about a contract. */
    contractAddress: string;
}
export interface TokenIdentifier {
    /** The blockchain network of the token. */
    network: 'ETHEREUM_MAINNET' | 'ETHEREUM_SEPOLIA_TESTNET' | 'BITCOIN_MAINNET' | 'BITCOIN_TESTNET';
    /** This is the token's contract address. */
    contractAddress?: string;
    /** The unique identifier of the token. For native tokens, use the 3 character abbreviation that best matches your token. For example, btc for Bitcoin, eth for Ether, etc. For all other token types you mu */
    tokenId?: string;
}
export interface OwnerIdentifier {
    /** The contract or wallet address for the owner. */
    address: string;
}
export interface BlockchainInstant {
    /** The container of the Timestamp of the blockchain instant. This timestamp will only be recorded up to the second. */
    time?: string;
}
export interface ContractFilter {
    /** The blockchain network of the contract. */
    network: 'ETHEREUM_MAINNET' | 'ETHEREUM_SEPOLIA_TESTNET' | 'BITCOIN_MAINNET' | 'BITCOIN_TESTNET';
    /** The container for the token standard. */
    tokenStandard: 'ERC20' | 'ERC721' | 'ERC1155';
    /** The network address of the deployer. */
    deployerAddress: string;
}
export interface AddressIdentifierFilter {
    /** The container for the recipient address of the transaction. */
    transactionEventToAddress: string[];
}
export interface TimeFilter {
    from?: BlockchainInstant;
    to?: BlockchainInstant;
}
export interface VoutFilter {
    /** Specifies if the transaction output is spent or unspent. */
    voutSpent: boolean;
}
export interface ConfirmationStatusFilter {
    /** The container to determine whether to list results that have only reached finality . Transactions that have reached finality are always part of the response. */
    include: 'FINAL' | 'NONFINAL'[];
}
export interface ListFilteredTransactionEventsSort {
    /** Container on how the results will be sorted by? */
    sortBy?: 'blockchainInstant';
    /** The container for the sort order for ListFilteredTransactionEvents. The SortOrder field only accepts the values ASCENDING and DESCENDING. Not providing SortOrder will default to ASCENDING. */
    sortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface OwnerFilter {
    /** The contract or wallet address. */
    address: string;
}
export interface TokenFilter {
    /** The blockchain network of the token. */
    network: 'ETHEREUM_MAINNET' | 'ETHEREUM_SEPOLIA_TESTNET' | 'BITCOIN_MAINNET' | 'BITCOIN_TESTNET';
    /** This is the address of the contract. */
    contractAddress?: string;
    /** The unique identifier of the token. */
    tokenId?: string;
}
export interface ListTransactionsSort {
    /** Defaults to the value TRANSACTION_TIMESTAMP. */
    sortBy?: 'TRANSACTION_TIMESTAMP';
    /** The container for the sort order for ListTransactions. The SortOrder field only accepts the values ASCENDING and DESCENDING. Not providing SortOrder will default to ASCENDING. */
    sortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface BatchGetTokenBalanceInput {
    /** An array of BatchGetTokenBalanceInputItem objects whose balance is being requested. */
    getTokenBalanceInputs?: BatchGetTokenBalanceInputItem[];
}
export interface GetAssetContractInput {
    /** Contains the blockchain address and network information about the contract. */
    contractIdentifier: ContractIdentifier;
}
export interface GetTokenBalanceInput {
    /** The container for the identifier for the owner. */
    ownerIdentifier: OwnerIdentifier;
    /** The container for the identifier for the token, including the unique token ID and its blockchain network. */
    tokenIdentifier: TokenIdentifier;
    /** The time for when the TokenBalance is requested or the current time if a time is not provided in the request. This time will only be recorded up to the second. */
    atBlockchainInstant?: BlockchainInstant;
}
export interface GetTransactionInput {
    /** The blockchain network where the transaction occurred. */
    network: 'ETHEREUM_MAINNET' | 'ETHEREUM_SEPOLIA_TESTNET' | 'BITCOIN_MAINNET' | 'BITCOIN_TESTNET';
    /** The hash of a transaction. It is generated when a transaction is created. */
    transactionHash?: string;
    /** The identifier of a Bitcoin transaction. It is generated when a transaction is created. transactionId is only supported on the Bitcoin networks. */
    transactionId?: string;
}
export interface ListAssetContractsInput {
    /** Contains the filter parameter for the request. */
    contractFilter: ContractFilter;
    /** The maximum number of contracts to list. Default: 100 Even if additional results can be retrieved, the request can return less results than maxResults or an empty array of results. To retrieve the nex */
    maxResults?: number;
    /** The pagination token that indicates the next set of results to retrieve. */
    nextToken?: string;
}
export interface ListFilteredTransactionEventsInput {
    /** This is the unique public address on the blockchain for which the transaction events are being requested. */
    addressIdentifierFilter: AddressIdentifierFilter;
    /** The blockchain network where the transaction occurred. Valid Values: BITCOIN_MAINNET | BITCOIN_TESTNET */
    network: string;
    confirmationStatusFilter?: ConfirmationStatusFilter;
    /** The maximum number of transaction events to list. Default: 100 Even if additional results can be retrieved, the request can return less results than maxResults or an empty array of results. To retriev */
    maxResults?: number;
    /** The pagination token that indicates the next set of results to retrieve. */
    nextToken?: string;
    /** The order by which the results will be sorted. */
    sort?: ListFilteredTransactionEventsSort;
    /** This container specifies the time frame for the transaction events returned in the response. */
    timeFilter?: TimeFilter;
    /** This container specifies filtering attributes related to BITCOIN_VOUT event types */
    voutFilter?: VoutFilter;
}
export interface ListTokenBalancesInput {
    /** The contract address or a token identifier on the blockchain network by which to filter the request. You must specify the contractAddress property of this container when listing tokens minted by a con */
    tokenFilter: TokenFilter;
    /** The maximum number of token balances to return. Default: 100 Even if additional results can be retrieved, the request can return less results than maxResults or an empty array of results. To retrieve  */
    maxResults?: number;
    /** The pagination token that indicates the next set of results to retrieve. */
    nextToken?: string;
    /** The contract or wallet address on the blockchain network by which to filter the request. You must specify the address property of the ownerFilter when listing balances of tokens owned by the address. */
    ownerFilter?: OwnerFilter;
}
export interface ListTransactionEventsInput {
    /** The blockchain network where the transaction events occurred. */
    network: 'ETHEREUM_MAINNET' | 'ETHEREUM_SEPOLIA_TESTNET' | 'BITCOIN_MAINNET' | 'BITCOIN_TESTNET';
    /** The maximum number of transaction events to list. Default: 100 Even if additional results can be retrieved, the request can return less results than maxResults or an empty array of results. To retriev */
    maxResults?: number;
    /** The pagination token that indicates the next set of results to retrieve. */
    nextToken?: string;
    /** The hash of a transaction. It is generated when a transaction is created. */
    transactionHash?: string;
    /** The identifier of a Bitcoin transaction. It is generated when a transaction is created. transactionId is only supported on the Bitcoin networks. */
    transactionId?: string;
}
export interface ListTransactionsInput {
    /** The address (either a contract or wallet), whose transactions are being requested. */
    address: string;
    /** The blockchain network where the transactions occurred. */
    network: 'ETHEREUM_MAINNET' | 'ETHEREUM_SEPOLIA_TESTNET' | 'BITCOIN_MAINNET' | 'BITCOIN_TESTNET';
    /** This filter is used to include transactions in the response that haven't reached finality . Transactions that have reached finality are always part of the response. */
    confirmationStatusFilter?: ConfirmationStatusFilter;
    fromBlockchainInstant?: BlockchainInstant;
    /** The maximum number of transactions to list. Default: 100 Even if additional results can be retrieved, the request can return less results than maxResults or an empty array of results. To retrieve the  */
    maxResults?: number;
    /** The pagination token that indicates the next set of results to retrieve. */
    nextToken?: string;
    /** The order by which the results will be sorted. */
    sort?: ListTransactionsSort;
    toBlockchainInstant?: BlockchainInstant;
}
/** ManagedBlockchain Query service binding for Step Functions SDK integrations. */
export declare class ManagedBlockchainQuery {
    constructor();
    batchGetTokenBalance<T>(params: BatchGetTokenBalanceInput): Promise<T>;
    getAssetContract<T>(params: GetAssetContractInput): Promise<T>;
    getTokenBalance<T>(params: GetTokenBalanceInput): Promise<T>;
    getTransaction<T>(params: GetTransactionInput): Promise<T>;
    listAssetContracts<T>(params: ListAssetContractsInput): Promise<T>;
    listFilteredTransactionEvents<T>(params: ListFilteredTransactionEventsInput): Promise<T>;
    listTokenBalances<T>(params: ListTokenBalancesInput): Promise<T>;
    listTransactionEvents<T>(params: ListTransactionEventsInput): Promise<T>;
    listTransactions<T>(params: ListTransactionsInput): Promise<T>;
}
//# sourceMappingURL=ManagedBlockchainQuery.d.ts.map