import { Address, type GetContractReturnType, type PublicClient } from 'viem';
import { LidoSDKModule } from '../common/class-primitives/sdk-module.js';
import { dualGovernanceAbi } from './abi/DualGovernance.js';
import { escrowAbi } from './abi/Escrow.js';
import { emergencyProtectedTimelockAbi } from './abi/EmergencyProtectedTimelock.js';
import { stETH } from './abi/StETH.js';
import { dgConfigProviderAbi } from './abi/DGConfigProvider.js';
import { DualGovernanceConfig, DualGovernanceState, GetGovernanceWarningStatusProps, GetGovernanceWarningStatusReturnType, SignallingEscrowDetails } from './types.js';
export declare class LidoSDKDualGovernance extends LidoSDKModule {
    getContractEmergencyProtectedTimelockAddress(): Address;
    getContractEmergencyProtectedTimelock(): Promise<GetContractReturnType<typeof emergencyProtectedTimelockAbi, PublicClient>>;
    getContractDualGovernance(): Promise<GetContractReturnType<typeof dualGovernanceAbi, PublicClient>>;
    getContractVetoSignallingEscrow(): Promise<GetContractReturnType<typeof escrowAbi, PublicClient>>;
    getContractStETH(): Promise<GetContractReturnType<typeof stETH, PublicClient>>;
    getContractDualGovernanceConfigProvider(): Promise<GetContractReturnType<typeof dgConfigProviderAbi, PublicClient>>;
    getGovernanceAddress(): Promise<Address>;
    getVetoSignallingEscrowAddress(): Promise<Address>;
    getStETHAddress(): Promise<Address>;
    getDualGovernanceConfigProviderAddress(): Promise<Address>;
    getVetoSignallingEscrowLockedAssets(): Promise<SignallingEscrowDetails>;
    getTotalStEthInEscrow(): Promise<bigint>;
    getDualGovernanceConfig(): Promise<DualGovernanceConfig>;
    getTotalStETHSupply(): Promise<bigint>;
    calculateCurrentVetoSignallingThresholdProgress(): Promise<{
        currentSupportPercent: number;
    }>;
    getDualGovernanceState(): Promise<DualGovernanceState['persistedState']>;
    getGovernanceWarningStatus({ triggerPercent, }: GetGovernanceWarningStatusProps): Promise<GetGovernanceWarningStatusReturnType>;
}
//# sourceMappingURL=dual-governance.d.ts.map