/**
 * Judge model-family classification + cross-family enforcement.
 *
 * A judge ensemble built entirely from one provider family shares that
 * family's blind spots and self-preference — its "agreement" is correlated
 * bias, not independent signal. `assertCrossFamily` makes the consumer prove
 * the ensemble spans ≥2 families; `judgeFamily` is the single regex map that
 * replaces the per-consumer copies (tax/legal/creative/gtm each ship one).
 */
/** Provider family a model belongs to. `unknown` when no rule matches. */
export type JudgeFamily = 'anthropic' | 'openai' | 'google' | 'meta' | 'mistral' | 'deepseek' | 'xai' | 'qwen' | 'cohere' | 'amazon' | 'moonshot' | 'zhipu' | 'unknown';
/**
 * Classify a model id into its provider family. Strips a `@snapshot` suffix
 * and prefers an explicit `provider/...` prefix; otherwise matches the model
 * name. Returns `unknown` when nothing matches (callers decide whether that's
 * acceptable — `assertCrossFamily` counts it as its own family).
 */
export declare function judgeFamily(modelId: string): JudgeFamily;
export interface AssertCrossFamilyOptions {
    /** Minimum number of distinct families the ensemble must span. Default 2. */
    minFamilies?: number;
    /** When false (default), `unknown`-family models do NOT count toward the
     *  family total — an ensemble of all-unclassifiable models is not provably
     *  cross-family. Set true to count `unknown` as one shared family. */
    allowUnknown?: boolean;
}
export declare class CrossFamilyError extends Error {
    readonly families: JudgeFamily[];
    readonly models: string[];
    constructor(message: string, families: JudgeFamily[], models: string[]);
}
/**
 * Throw unless the judge models span at least `minFamilies` distinct provider
 * families. Pass the model ids backing your judge ensemble. Fail-loud by
 * design — a correlated single-family ensemble silently inflates agreement.
 */
export declare function assertCrossFamily(models: string[], opts?: AssertCrossFamilyOptions): JudgeFamily[];
//# sourceMappingURL=judge-families.d.ts.map