import type { FinalizationViewer, NetworkStakeStepRewardsViewer, NetworkStakeViewer, StakeTotalsViewer, StakeViewer, XL1RangeMultipliers } from '@xyo-network/xl1-protocol/protocol-lib';
import type { CreatableProviderParams } from '../protocol-sdk/index-node.js';
import { AbstractCreatableProvider } from '../protocol-sdk/index-node.js';
/** Configuration params for SimpleNetworkStakeViewer. */
export interface SimpleNetworkStakeViewerParams extends CreatableProviderParams {
    /** Reward multipliers applied when calculating network-stake rewards. */
    rewardMultipliers?: XL1RangeMultipliers;
}
/** Provider that views network-wide staking information including step rewards and active stake totals. */
export declare class SimpleNetworkStakeViewer extends AbstractCreatableProvider<SimpleNetworkStakeViewerParams> implements NetworkStakeViewer {
    /** Connection kinds supported by this provider. */
    static readonly connectionTypes: readonly ["none"];
    /** Primary moniker used to resolve this provider. */
    static readonly defaultMoniker: "NetworkStakeViewer";
    /** Provider monikers that must resolve before this provider can be created. */
    static readonly dependencies: ("FinalizationViewer" | "StakeTotalsViewer" | "NetworkStakeStepRewardsViewer" | "StakeViewer")[];
    /** Provider monikers implemented by this provider class. */
    static readonly monikers: "NetworkStakeViewer"[];
    /** Read, write, or mixed capability surface exposed by the provider. */
    static readonly surface: "node";
    /** Moniker implemented by this provider instance. */
    moniker: "NetworkStakeViewer";
    private _finalizationViewer;
    private _stake;
    private _stakeTotals;
    private _stepRewardsViewer?;
    /** Returns the step rewards result exposed by this provider. */
    get stepRewards(): NetworkStakeStepRewardsViewer;
    protected get finalizationViewer(): FinalizationViewer;
    protected get rewardMultipliers(): XL1RangeMultipliers | undefined;
    protected get stake(): StakeViewer;
    protected get stakeTotals(): StakeTotalsViewer;
    /** Returns the active result exposed by this provider. */
    active(blockNumber?: number): Promise<[bigint, number]>;
    /** Creates the provider instance after its dependencies and configuration have resolved. */
    createHandler(): Promise<void>;
}
//# sourceMappingURL=SimpleNetworkStakeViewer.d.ts.map