/** * Content-type-aware routing for skill packaging. * * Routes auto-discovered non-markdown files to subdirectories based on * file extension. This is the single source of truth for extension→subdirectory * mapping, isolated so it can be replaced with config-driven routing later. */ /** * Target subdirectory categories for packaged skill files. * * Runtime value, not just a type: every consumer that needs to enumerate the * bundled-subdirectory vocabulary (e.g. the bundled-resource link detector) * derives it from here so the two can never drift apart. */ export declare const TARGET_SUBDIR_CATEGORIES: readonly ["resources", "scripts", "templates", "assets"]; /** Target subdirectory categories for packaged skill files */ export type TargetSubdirCategory = (typeof TARGET_SUBDIR_CATEGORIES)[number]; /** * Subdirectory the `claude-web` packaging target packs every resource into. * * Target-specific layout name rather than a content-type routing category — * claude-web ignores extension routing and flattens everything into * `references/`. Consumers enumerating on-disk bundled subdirectories need * this alongside {@link TARGET_SUBDIR_CATEGORIES}. */ export declare const CLAUDE_WEB_REFERENCES_SUBDIR = "references"; /** Read-only view of the extension→subdirectory map for inspection/testing */ export declare const CONTENT_TYPE_ROUTING_MAP: ReadonlyMap; /** * Determine the target subdirectory for a file based on its extension. * * Uses a static extension map. Files ending in `.example` (e.g., `.env.example`) * are routed to `templates/`. Unknown extensions fall back to `resources/`. * * @param filePath - File path (absolute or relative, only extension is used) * @returns Subdirectory name: 'scripts', 'templates', 'assets', or 'resources' */ export declare function getTargetSubdir(filePath: string): TargetSubdirCategory; //# sourceMappingURL=content-type-routing.d.ts.map