import { SUPPORTED_VERSION_BY_CONTRACT } from '../common/index.js';
import { Address } from 'viem';
export type CsmStatus = {
    isPausedModule: boolean;
    isPausedAccounting: boolean;
};
export type CsmContractsWithVersion = keyof typeof SUPPORTED_VERSION_BY_CONTRACT;
export type CsmVersions = Record<CsmContractsWithVersion, bigint>;
export declare const ShareLimitStatus: {
    readonly FAR: "FAR";
    readonly APPROACHING: "APPROACHING";
    readonly EXHAUSTED: "EXHAUSTED";
    readonly REACHED: "REACHED";
};
export type ShareLimitStatus = keyof typeof ShareLimitStatus;
export type ShareLimitInfo = {
    active: bigint;
    activeLeft: bigint;
    capacity: bigint;
    queue: bigint;
    shareLimit: bigint;
};
export type ModuleDigest = {
    nodeOperatorsCount: bigint;
    activeNodeOperatorsCount: bigint;
    state: {
        id: number;
        stakingModuleAddress: Address;
        stakingModuleFee: number;
        treasuryFee: number;
        stakeShareLimit: number;
        status: number;
        name: string;
        lastDepositAt: bigint;
        lastDepositBlock: bigint;
        exitedValidatorsCount: bigint;
        priorityExitShareThreshold: number;
        maxDepositsPerBlock: bigint;
        minDepositBlockDistance: bigint;
    };
    summary: {
        totalExitedValidators: bigint;
        totalDepositedValidators: bigint;
        depositableValidatorsCount: bigint;
    };
};
export type ModulesResponse = {
    data: {
        nonce: number;
        type: string;
        id: number;
        stakingModuleAddress: string;
        moduleFee: number;
        treasuryFee: number;
        targetShare: number;
        status: number;
        name: string;
        lastDepositAt: number;
        lastDepositBlock: number;
        exitedValidatorsCount: number;
        active: boolean;
        lastChangedBlockHash: string;
    }[];
};
export type ModuleOperatorsResponse = {
    data: {
        operators: [
            {
                index: number;
                active: boolean;
                name: string;
                rewardAddress: string;
                stakingLimit: number;
                stoppedValidators: number;
                totalSigningKeys: number;
                usedSigningKeys: number;
                moduleAddress: string;
            }
        ];
    };
};
//# sourceMappingURL=types.d.ts.map