/** Authored skill selector policy after preserving property presence. */ export type ResolvedSkillSelectorPolicy = { kind: "all-visible"; source: "omitted" | "true"; } | { kind: "none"; } | { kind: "allowlist"; entries: string[]; }; /** Sanitized unresolved explicit selector entry. */ export type UnresolvedSkillSelectorEntry = { index: number; }; /** Deterministic resolved selector snapshot shared by skill catalog adapters. */ export type ResolvedSkillSelectorSnapshot = { readonly policy: ResolvedSkillSelectorPolicy; readonly definitions: TDefinition[]; readonly allowedSkillIds: string[]; readonly skillSourcePaths: Readonly>; readonly unresolvedEntries: UnresolvedSkillSelectorEntry[]; }; /** Empty selector snapshot for explicit none policies. */ export declare function createNoneSkillSelectorSnapshot(policy?: Extract): ResolvedSkillSelectorSnapshot; type ResolveSkillSelectorInput = { definitions: readonly TDefinition[]; selector: true | readonly string[] | undefined; getId: (definition: TDefinition) => string; isVisible: (definition: TDefinition) => boolean; getShortName?: (definition: TDefinition) => string | undefined; isOwnShortNameCandidate?: (definition: TDefinition) => boolean; getSourcePath?: (definition: TDefinition) => string | undefined; }; /** Resolve a presence-aware skill selector without throwing on explicit misses. */ export declare function resolveSkillSelector(input: ResolveSkillSelectorInput): ResolvedSkillSelectorSnapshot; /** Throw the generic selector configuration error for unresolved explicit entries. */ export declare function assertResolvedSkillSelector(snapshot: ResolvedSkillSelectorSnapshot): void; export {}; //# sourceMappingURL=selector.d.ts.map