import type { Address, ContractFunctionParameters, MulticallReturnType } from 'viem';
import { LidoSDKModule } from '../common/class-primitives/sdk-module.js';
import { LidoSDKVaultContracts } from './vault-contracts.js';
import { LidoSDKVaultFactory } from './vault-factory.js';
import { LidoSDKVaultViewer } from './vault-viewer.js';
import { LidoSDKstETH, LidoSDKwstETH } from '../erc20/index.js';
import { LidoSDKVaultEntity } from './vault-entity.js';
import { LidoSDKVaultLazyOracle } from './vault-lazy-oracle.js';
import { LidoSDKVaultConstants } from './vault-constants.js';
import { SubmitLatestReportProps } from './types.js';
export declare class Bus extends LidoSDKModule {
    private version;
    private contractsInstance;
    private vaultFactoryInstance;
    private vaultViewerInstance;
    private lazyOracleInstance;
    private constantsInstance;
    private wstethInstance;
    private stethInstance;
    get contracts(): LidoSDKVaultContracts;
    get vaultViewer(): LidoSDKVaultViewer;
    get vaultFactory(): LidoSDKVaultFactory;
    get wsteth(): LidoSDKwstETH;
    get steth(): LidoSDKstETH;
    get lazyOracle(): LidoSDKVaultLazyOracle;
    get constants(): LidoSDKVaultConstants;
    vaultFromAddress(vaultAddress: Address, dashboardAddress?: Address): LidoSDKVaultEntity;
    readWithLatestReport<TMethods extends readonly (ContractFunctionParameters & {
        from?: Address;
    })[]>(props: {
        preparedMethods: TMethods;
        blockNumber: bigint;
    } & SubmitLatestReportProps): Promise<MulticallReturnType<TMethods, false>>;
}
//# sourceMappingURL=bus.d.ts.map