export declare const buildAdjacency: (tests: ReadonlyArray>) => number[][]; export declare const tryKColoring: (adjacency: ReadonlyArray>, n: number, k: number, witness: ReadonlyArray) => number[] | null; export type SolveColoringInput = { adjacency: ReadonlyArray>; n: number; lowerBound: number; dsaturColors: number; witness: ReadonlyArray; dsaturColoring: ReadonlyArray; }; export type SolveColoringResult = { coloring: ReadonlyArray; lowerBound: number; optimal: boolean; }; type ExactDecision = { useGroups: 'exact'; suffix: string; } | { useGroups: 'dsatur'; suffix: string; }; export declare const decideExactOutcome: (exact: SolveColoringResult, dsaturColors: number) => ExactDecision; export declare const solveColoring: (input: SolveColoringInput) => SolveColoringResult; export {};