import type { ActiveCommitterInfo, NetworkConfig, ValidatorRoles, ValidatorSet } from './types/index.js'; /** * Deterministically assign aggregator and committer roles for an epoch. * * For each role slot the algorithm hashes ("ROLE"|headerHash|i), derives a * start index into the validator list, then performs a linear probe to find * the first unoccupied validator (wrap-around). * * All returned indices reference `validatorSet.validators`. */ export declare const getValidatorRoles: (validatorSet: ValidatorSet, config: NetworkConfig) => ValidatorRoles; /** * Determine the currently active committer based on round-robin time slots. * * Pure function — no RPC calls. All returned indices reference * `validatorSet.validators`. * * @returns `null` when `currentTime < captureTimestamp` (epoch not started). */ export declare const getActiveCommitter: (params: { committerIndices: number[]; captureTimestamp: number; currentTime: number; committerSlotDuration: number; graceSeconds?: number; }) => ActiveCommitterInfo | null; //# sourceMappingURL=validator-roles.d.ts.map