/** ADR-112 — a rule's producer kind (the `provenance.kind` discriminator). */
export type ProducerKind = 'mined' | 'authored';
/**
 * The producer-kind override config (ADR-112 §9). Each field is an upstream
 * contract behaviour that authoring changes relative to mining:
 *   - `labelScope`           — §9: mined labels the held-out slice only; authored
 *                              must label EVERY non-control firing across BOTH
 *                              slices, else a train-slice FP has no label and
 *                              escapes the precision-1.0 FAIL.
 *   - `positiveControlSide`  — §6: mined positive controls are held-out; authored
 *                              positive controls are TRAIN-side (the rule is
 *                              authored against the train slice).
 *   - `exposureControlSide`  — §5.3: which slice `positiveControlsExercised`
 *                              counts. Mirrors `positiveControlSide`.
 *   - `positiveControlGate`  — §4 (strategy#777 Q3(ii)): how a positive control is
 *                              admitted. Mined controls are corpus-firing evidence
 *                              (`none`); authored controls must clear the
 *                              preimage-differential gate (fire-on-preimage /
 *                              silent-on-postimage). FROZEN-ENUM DATA only — no
 *                              consumer branches on the table itself (Tenet 9); the
 *                              authored-controls builder READS it as the §9 home.
 */
export interface RulePolicy {
    readonly labelScope: 'held-out-only' | 'whole-window';
    readonly positiveControlSide: 'held-out' | 'train';
    readonly exposureControlSide: 'held-out' | 'train';
    readonly positiveControlGate: 'none' | 'preimage-differential';
}
/**
 * ADR-112 §9 — resolve the override config for a producer kind. Pure +
 * exhaustive over the 2-value union. The MINED branch is the live, byte-identical
 * path; the AUTHORED branch is defined for slice D's consumers (not yet wired).
 */
export declare function getRulePolicy(kind: ProducerKind): RulePolicy;
//# sourceMappingURL=rule-policy.d.ts.map