type U32 = Uint32Array;
type I32 = Int32Array;
export interface PackedCycleDetectionResult {
    cycleMembers: U32;
    cycleMemberCount: number;
    cycleGroups: I32;
}
export declare class CycleDetector {
    private visitEpoch;
    private lastFormulaCount;
    private visitMarks;
    private onStackMarks;
    private indices;
    private lowLinks;
    private formulaList;
    private stack;
    private component;
    private cycleMembers;
    private cycleGroups;
    detect(formulaCellIndices: Iterable<number>, maxCellIndexExclusive: number, forEachFormulaDependency: (cellIndex: number, fn: (dependencyCellIndex: number) => void) => void, isFormula: (cellIndex: number) => boolean): PackedCycleDetectionResult;
    private ensureCapacity;
    private bumpEpochs;
}
export {};
