import type { Address, Hex } from 'viem'; /** @notice Validator signing key with its tag. */ export interface ValidatorKey { tag: number; payload: Hex; } export declare enum KeyType { KeyTypeBlsBn254 = 0, KeyTypeEcdsaSecp256k1 = 1, KeyTypeInvalid = 255 } export type KeyTag = number; /** @notice Resolve the key type from a serialized key tag nibble. */ export declare function getKeyType(tag: KeyTag): KeyType; /** @notice Validator vault entry with optional collateral metadata. */ export interface ValidatorVault { vault: Address; votingPower: bigint; chainId: number; collateral?: Address; collateralSymbol?: string; collateralName?: string; } /** @notice Aggregated validator record used in validator sets. */ export interface Validator { operator: Address; votingPower: bigint; isActive: boolean; keys: ValidatorKey[]; vaults: ValidatorVault[]; } /** @notice Voting power per vault for an operator. */ export interface VaultVotingPower { vault: Address; votingPower: bigint; } /** @notice Operator voting power grouped by vaults. */ export interface OperatorVotingPower { operator: Address; vaults: VaultVotingPower[]; } /** @notice Operator keys snapshot returned by the key registry. */ export interface OperatorWithKeys { operator: Address; keys: ValidatorKey[]; } //# sourceMappingURL=validator.d.ts.map