import type { AIProfileTag } from "./types.js"; /** High-level grouping for tag pickers / docs. */ export type AIProfileTagCategory = "tier" | "capability" | "domain" | "task" | "modality" | "deployment" | "vendor"; export interface AIProfileTagInfo { /** Short discovery code (2–6 chars). */ id: AIProfileTag; /** Human label for UI pickers. */ label: string; /** Grouping for filters and glossaries. */ category: AIProfileTagCategory; /** What the tag means / what a profile is good for. */ description: string; /** Optional longer aliases that map to this tag in free-text search. */ aliases?: string[]; } /** * Canonical glossary for every {@link AIProfileTag}. * Keep in sync with the JSON schema enum and `AIProfileTag` union. */ export declare const AI_PROFILE_TAG_GLOSSARY: readonly AIProfileTagInfo[]; /** Every allowed short tag id (sorted). */ export declare const AI_PROFILE_TAGS: readonly AIProfileTag[]; export declare function isAIProfileTag(value: string): value is AIProfileTag; export declare function getAIProfileTag(id: string): AIProfileTagInfo | undefined; /** * Discovery ranking weight for a tag. * Domain/task: 3 · capability: 2 · tier/vendor/deployment/modality: 1 · `wf`: 0.25 */ export declare function getAIProfileTagWeight(tag: AIProfileTag): number; export interface ListAIProfileTagsOptions { /** Restrict to one or more glossary categories. */ category?: AIProfileTagCategory | AIProfileTagCategory[]; /** Free-text filter across id, label, description, and aliases. */ search?: string; } /** * List all allowed filter tags (optionally by category / search). * For tags present in the loaded registry, use {@link listUsedAIProfileTags}. */ export declare function listAIProfileTags(options?: ListAIProfileTagsOptions): AIProfileTagInfo[]; /** Resolve free-text / alias tokens into known short tags (deduped, order preserved). */ export declare function resolveAIProfileTagTokens(tokens: string[]): AIProfileTag[]; //# sourceMappingURL=profileTags.d.ts.map