import { ADNLClient } from 'adnl';
import { StreamWriter } from '../../tl/stream';
import * as dataTypes from '../../dataTypes';
import { AccountId, TransactionId3 } from '../../dataTypes/liteServer';
import { BlockIdExt } from '../../dataTypes/tonNode';
import { LookupBlockInput } from '../../functions/liteServer';
export declare class LiteApi {
    #private;
    private readonly adnlClient;
    constructor(adnlClient: ADNLClient);
    private parseLiteServerAnswer;
    protected query<T>(dataWriterFn: (dataWriter: StreamWriter) => void): Promise<T>;
    getMasterchainInfo(): Promise<dataTypes.liteServer.MasterchainInfo>;
    getTime(): Promise<string>;
    getVersion(): Promise<dataTypes.liteServer.Version>;
    getBlock(blockId: BlockIdExt): Promise<dataTypes.liteServer.BlockData>;
    getAllShardsInfo(blockId: BlockIdExt): Promise<dataTypes.liteServer.AllShardsInfo>;
    getState(blockId: BlockIdExt): Promise<unknown>;
    getBlockHeader(blockId: BlockIdExt, mode: number): Promise<dataTypes.liteServer.BlockHeader>;
    lookupBlock(input: LookupBlockInput): Promise<dataTypes.liteServer.BlockHeader>;
    getAccountState(blockId: BlockIdExt, account: AccountId): Promise<dataTypes.liteServer.AccountState>;
    listBlockTransactions(blockId: BlockIdExt, count?: number, after?: TransactionId3 | null, options?: {
        reverseOrder?: boolean;
        wantProof?: boolean;
    }): Promise<dataTypes.liteServer.BlockTransactions>;
    getTransactions(account: AccountId, lt: bigint, hash: Uint8Array, count?: number): Promise<dataTypes.liteServer.TransactionList>;
    getOneTransaction(id: BlockIdExt, account: AccountId, lt: bigint): Promise<dataTypes.liteServer.TransactionInfo>;
    runSmcMethod(id: BlockIdExt, account: AccountId, methodId: bigint, params: Uint8Array): Promise<dataTypes.liteServer.RunMethodResult>;
    sendMessage(body: Uint8Array): Promise<dataTypes.liteServer.SendMsgStatus>;
}
