/** * Ignored-plugins primitive (generic, reusable). * * An ignored plugin is one whose name appears in the user's `IGNORED_PLUGINS` * config list — typically a bespoke/private JAR with no public update channel. * It is still SCANNED (so Pluginator knows it exists), but is deliberately kept * out of: * - source assignment / the identification ladder, * - update checks (no wasted API calls), * - auto-update install attempts, * - the suggestion / review queue. * * It is bucketed as 'ignored' on every surface — never noSource, unidentified, * failed, or manualRequired. Matching is case-insensitive on the scanned * plugin.yml name (the same name the auto-source assigner matches on). * * This is the single filter primitive every consumer (auto-update workflow, * update-check workflow, baseline funnel) shares, so the "exclude for now" * semantics stay identical across the pipeline. * * @since v2.12.10 (Universal Update Automation follow-up) */ /** * Build a case-insensitive lookup set from a raw `IGNORED_PLUGINS` list. * Trims, lowercases, and drops empties. An undefined/empty list yields an * empty set, so callers can use {@link isIgnoredPlugin} unconditionally with * zero behavior change. */ export declare function buildIgnoredSet(ignoredPlugins?: readonly string[]): ReadonlySet; /** * Is this plugin name ignored? Case-insensitive; tolerant of surrounding * whitespace. A null/undefined/empty name is never ignored. */ export declare function isIgnoredPlugin(name: string | undefined | null, ignoredSet: ReadonlySet): boolean; /** Result of {@link partitionIgnored}: the items to process vs the ignored names. */ export interface IgnoredPartition { /** Items whose name is NOT in the ignored list — feed these to the pipeline. */ kept: T[]; /** * Original-cased names of items that WERE ignored, de-duplicated and in * first-seen order. This is the 'ignored' bucket surfaced to the user. */ ignored: string[]; } /** * Partition a name-bearing collection into kept vs ignored, preserving the * ORIGINAL casing of the ignored names for display. De-dupes ignored names * case-insensitively. With an empty ignored set, every item is kept and * `ignored` is empty (regression-safe default). */ export declare function partitionIgnored(items: readonly T[], getName: (item: T) => string | undefined, ignoredSet: ReadonlySet): IgnoredPartition; //# sourceMappingURL=ignored-plugins.d.ts.map