import { type EvaluatedWaiver, type WaiverEntry } from './WaiverModel.js'; /** The only file picked up without --waivers. Its path is always reported, so a waiver is never silent. */ export declare const DEFAULT_WAIVER_FILE = ".sfaudit-waivers.json"; export declare class WaiverLoader { readonly source?: string | undefined; private readonly evaluatedWaivers; /** * @param source the file the waivers came from, or undefined when none was loaded. Reported to * the user so a waiver file picked up from the working directory is never applied silently. */ constructor(waivers: WaiverEntry[], now?: Date, source?: string | undefined); get waivers(): readonly EvaluatedWaiver[]; get activeWaivers(): EvaluatedWaiver[]; get expiredWaivers(): EvaluatedWaiver[]; /** * The waiver covering one entity of one finding, preferring an active waiver over an expired * one. Matching is exact (case- and whitespace-insensitive): the entity must equal an affected * item's label, or, for a finding with no affected items, the finding id itself. There are no * wildcards or partial matches, so a waiver can never cover more than the entity it names. */ findMatchingWaiver(checkId: string, findingId: string, entityName: string): EvaluatedWaiver | undefined; /** * Loads waivers from an explicit path, or from `.sfaudit-waivers.json` in the working directory. * Rejects any waiver that runs longer than MAX_WAIVER_DAYS from `now`. */ static load(explicitPath?: string, now?: Date): WaiverLoader; } //# sourceMappingURL=WaiverLoader.d.ts.map