import type { Address, EthAddress } from '@ariestools/sdk';
import type { IStakedXyoChain } from '@xyo-network/typechain';
import type { StakeTotalsViewer } from '@xyo-network/xl1-protocol/protocol-lib';
import type { EvmViewerParams } from './AbstractEvmViewer.js';
import { AbstractEvmViewer } from './AbstractEvmViewer.js';
/** Public contract for Evm Chain Stake Viewer Params. */
export interface EvmChainStakeViewerParams extends EvmViewerParams {
}
/**
 * A class that represents a chain stake as backed by an EVM smart contract
 */
export declare class EvmStakeTotalsViewer extends AbstractEvmViewer<EvmChainStakeViewerParams, IStakedXyoChain> implements StakeTotalsViewer {
    /** Connection kinds supported by this provider. */
    static readonly connectionTypes: readonly ["evm-rpc"];
    /** Primary moniker used to resolve this provider. */
    static readonly defaultMoniker: "StakeTotalsViewer";
    /** Provider monikers that must resolve before this provider can be created. */
    static readonly dependencies: "EvmChainViewer"[];
    /** Provider monikers implemented by this provider class. */
    static readonly monikers: "StakeTotalsViewer"[];
    /** Read, write, or mixed capability surface exposed by the provider. */
    static readonly surface: "node";
    /** Moniker implemented by this provider instance. */
    moniker: "StakeTotalsViewer";
    /** Returns the active result exposed by this provider. */
    active(): Promise<bigint>;
    /** Returns the active by staked result exposed by this provider. */
    activeByStaked(staked: Address): Promise<bigint>;
    /** Returns the active by staker result exposed by this provider. */
    activeByStaker(address: Address): Promise<bigint>;
    /** Returns the pending result exposed by this provider. */
    pending(): Promise<bigint>;
    /** Returns the pending by staker result exposed by this provider. */
    pendingByStaker(staker: Address): Promise<bigint>;
    /** Returns the withdrawn result exposed by this provider. */
    withdrawn(): Promise<bigint>;
    /** Returns the withdrawn by staker result exposed by this provider. */
    withdrawnByStaker(staker: string): Promise<bigint>;
    protected connectContract(address: EthAddress): IStakedXyoChain;
}
//# sourceMappingURL=EvmStakeTotalsViewer.d.ts.map