import { routes } from "@lodestar/api";
import { CheckpointWithHex, IForkChoice } from "@lodestar/fork-choice";
import { BeaconStateAllForks, CachedBeaconStateAllForks, PubkeyCache } from "@lodestar/state-transition";
import { BLSPubkey, Epoch, RootHex, Slot, ValidatorIndex, phase0 } from "@lodestar/types";
import { IBeaconChain } from "../../../../chain/index.js";
export declare function resolveStateId(forkChoice: IForkChoice, stateId: routes.beacon.StateId): RootHex | Slot | CheckpointWithHex;
export declare function getStateResponseWithRegen(chain: IBeaconChain, inStateId: routes.beacon.StateId): Promise<{
    state: CachedBeaconStateAllForks | Uint8Array;
    executionOptimistic: boolean;
    finalized: boolean;
}>;
export declare function toValidatorResponse(index: ValidatorIndex, validator: phase0.Validator, balance: number, currentEpoch: Epoch): routes.beacon.ValidatorResponse;
export declare function filterStateValidatorsByStatus(statuses: string[], state: BeaconStateAllForks, pubkeyCache: PubkeyCache, currentEpoch: Epoch): routes.beacon.ValidatorResponse[];
type StateValidatorIndexResponse = {
    valid: true;
    validatorIndex: ValidatorIndex;
} | {
    valid: false;
    code: number;
    reason: string;
};
export declare function getStateValidatorIndex(id: routes.beacon.ValidatorId | BLSPubkey, state: BeaconStateAllForks, pubkeyCache: PubkeyCache): StateValidatorIndexResponse;
export {};
//# sourceMappingURL=utils.d.ts.map