import type { AccountID, ContractID, Timestamp, TokenID, TopicID, TransactionID } from '@bugbytes/hapi-proto';
import { type EntityIdKeyString, type TransactionIdKeyString, TimestampKeyString } from '@bugbytes/hapi-util';
import { AccountInfo, ContractInfo, ContractResult, MessageInfo, NftIterator, NodeInfoIterator, TokenBalanceInfo, TokenInfo, TokenRelationshipIterator, TransactionDetail, TransactionInfo, TransactionInfoIterator } from './types';
export declare class MirrorRestClient {
    private readonly mirrorHostname;
    constructor(mirrorHostname: string);
    getNodes(): NodeInfoIterator;
    getTransaction(transactionId: TransactionIdKeyString | TransactionID): Promise<TransactionDetail>;
    getTransactionGroup(transactionId: TransactionIdKeyString | TransactionID): Promise<TransactionDetail[]>;
    getTransactions(accountId: EntityIdKeyString | AccountID): TransactionInfoIterator;
    getLatestTransaction(): Promise<TransactionInfo>;
    getAccountInfo(accountId: EntityIdKeyString | AccountID): Promise<AccountInfo>;
    getAccountTokens(accountId: EntityIdKeyString | AccountID): TokenRelationshipIterator;
    getAccountNfts(accountId: EntityIdKeyString | AccountID): NftIterator;
    getContractInfo(contractId: EntityIdKeyString | ContractID): Promise<ContractInfo>;
    getTokenInfo(tokenId: EntityIdKeyString | TokenID, timestamp?: TimestampKeyString | Timestamp | undefined): Promise<TokenInfo>;
    getTokenBalance(accountId: EntityIdKeyString | AccountID, tokenId: EntityIdKeyString | TokenID, timestamp?: TimestampKeyString | Timestamp | undefined): Promise<TokenBalanceInfo>;
    getContractResult(transactionId: TransactionIdKeyString | TransactionID): Promise<ContractResult>;
    getMessage(topicId: EntityIdKeyString | TopicID, sequenceNumber: number): Promise<MessageInfo>;
    getLatestMessage(topicId: EntityIdKeyString | TopicID): Promise<MessageInfo>;
}
//# sourceMappingURL=client.d.ts.map