/** * Lens selection resolver for operator-selected audit lenses. * * Accepts the `lenses.selected` array from session-config, validates it, * de-duplicates, sorts with the canonical LENSES registry order, and always * unions in the mandatory base set required for cross-perspective coverage. */ import { type Lens } from "audit-tools/shared"; /** * The mandatory base lenses that are always included regardless of the * operator's selection. These are required for cross-perspective obligations * that every audit must satisfy. */ export declare const MANDATORY_LENSES: readonly Lens[]; /** * Resolve the effective lens set from the operator-selected lenses. * * - When `selected` is undefined/null, returns all canonical lenses. * - When `selected` is an array of lens names, unions in the mandatory base * lenses, de-duplicates, sorts canonical lenses to registry order, and * appends any custom (non-canonical) lenses at the end. */ export declare function resolveEffectiveLenses(selected: string[] | undefined | null): string[]; /** Returns true when the given lens is in the mandatory base set. */ export declare function isMandatoryLens(lens: string): boolean; /** The operator's confirmed lens choice, as recorded on the intent checkpoint. */ export interface LensSelection { readonly include?: readonly string[]; readonly exclude?: readonly string[]; } /** * Resolve `intent_checkpoint.lens_selection` into the effective lens set — the * ONE resolution every draw reads, so planning and result-ingestion can never * disagree about what the operator admitted. * * `include` is additive (mandatory lenses are always re-unioned by * `resolveEffectiveLenses`); `exclude` then removes non-mandatory lenses and the * result is re-resolved so a mandatory lens can never be excluded away. * * Returns `undefined` — never the full lens list — when the operator expressed * no limit at all, because "no limit" and "every lens" are different answers to * a consumer that gates on the set only when one exists. */ export declare function resolveIntentLensSelection(selection: LensSelection | undefined): string[] | undefined; //# sourceMappingURL=lensSelection.d.ts.map