import { CsmSDKModule } from '../common/class-primitives/csm-sdk-module.js';
import { AmountByKeys, BondAmountByKeysCountProps, BondForNextKeysProps, KeysCountByBondAmountProps, StethPoolData } from './types.js';
export declare class AccountingSDK extends CsmSDKModule {
    private get accountingContract();
    private get stethContract();
    getStethPoolData(blockNumber?: bigint): Promise<StethPoolData>;
    getStethPoolDataByBlockNumbers(blockNumbers: bigint[]): Promise<Map<bigint, StethPoolData>>;
    /**
     * Converts stETH shares to ETH amount using the current pool ratio.
     * Also works for converting wstETH to stETH.
     */
    sharesToEth(amount: bigint, blockNumber?: bigint): Promise<bigint>;
    /**
     * Converts ETH amount to stETH shares using the current pool ratio.
     * Also works for converting stETH to wstETH.
     */
    ethToShares(amount: bigint, blockNumber?: bigint): Promise<bigint>;
    getBondAmountByKeysCountETH({ curveId, keysCount, }: BondAmountByKeysCountProps): Promise<bigint>;
    getBondAmountByKeysCountWstETH({ curveId, keysCount, }: BondAmountByKeysCountProps): Promise<bigint>;
    getBondAmountByKeysCountPerToken(props: BondAmountByKeysCountProps): Promise<AmountByKeys>;
    getCurve(curveId: bigint): Promise<{
        intervals: readonly {
            minKeysCount: bigint;
            minBond: bigint;
            trend: bigint;
        }[];
    }>;
    getKeysCountByBondAmount({ amount, curveId, }: KeysCountByBondAmountProps): Promise<bigint>;
    getBondForNextKeysETH({ nodeOperatorId, keysCount, }: BondForNextKeysProps): Promise<bigint>;
    getBondForNextKeysWstETH({ nodeOperatorId, keysCount, }: BondForNextKeysProps): Promise<bigint>;
    getBondForNextKeysPerToken(props: BondForNextKeysProps): Promise<{
        ETH: bigint;
        stETH: bigint;
        wstETH: bigint;
    }>;
}
//# sourceMappingURL=accounting-sdk.d.ts.map