import { Epoch, ValidatorIndex } from "@lodestar/types";
import { MapDef } from "@lodestar/utils";
/**
 * Keeps a cache to filter unaggregated attestations from the same validator in the same epoch.
 */
export declare class SeenAttesters {
    protected readonly validatorIndexesByEpoch: MapDef<number, Set<number>>;
    protected lowestPermissibleEpoch: Epoch;
    isKnown(targetEpoch: Epoch, validatorIndex: ValidatorIndex): boolean;
    add(targetEpoch: Epoch, validatorIndex: ValidatorIndex): void;
    prune(currentEpoch: Epoch): void;
}
/**
 * Keeps a cache to filter aggregated attestations from the same aggregators in the same epoch
 */
export declare class SeenAggregators extends SeenAttesters {
}
/**
 * Keeps a cache to filter payload attestations from the same attesters in the same epoch
 */
export declare class SeenPayloadAttesters extends SeenAttesters {
}
//# sourceMappingURL=seenAttesters.d.ts.map