import type { Field } from "../../describe/types.ts"; import { type MaskSelection, type MaskStrategy, type Masker } from "./types.ts"; /** A strategy that maps directly to a preset (everything except "auto"). */ type ConcreteStrategy = Exclude; /** * Pick a concrete preset for a field from its Salesforce type and name/label. * Pure. Consulted only when a field's selection strategy is "auto" (the * default the detector hands us); an explicit strategy bypasses it. */ export declare function pickStrategy(field: Field): ConcreteStrategy; /** * Build a Masker over an explicit selection (object โ†’ field โ†’ strategy). * Fields not in the map are never masked. * * Fail-closed (spec ยง3.5): anything the masker cannot safely produce a value * for returns OMIT_ROW โ€” never the clear value. The caller treats OMIT_ROW * like an unresolved required FK (skip + log the row). */ export declare function createMasker(opts: { salt: string; selection: MaskSelection; }): Masker; export {};