import { type Address } from 'viem';
import { LidoSDKModule } from '../common/class-primitives/sdk-module.js';
import { DGConfigProviderContractType, DualGovernanceConfig, DualGovernanceContractType, DualGovernanceState, EmergencyProtectedTimelockContractType, EscrowContractType, GetGovernanceWarningStatusProps, GetGovernanceWarningStatusReturnType, SignallingEscrowDetails } from './types.js';
import { LidoContractType } from '../core/index.js';
export declare class LidoSDKDualGovernance extends LidoSDKModule {
    getContractEmergencyProtectedTimelockAddress(): Address;
    getContractEmergencyProtectedTimelock(): Promise<EmergencyProtectedTimelockContractType>;
    getContractDualGovernance(): Promise<DualGovernanceContractType>;
    getContractVetoSignallingEscrow(): Promise<EscrowContractType>;
    getContractStETH(): Promise<LidoContractType>;
    getContractDualGovernanceConfigProvider(): Promise<DGConfigProviderContractType>;
    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