import type { Component } from 'svelte'; /** * Default path-to-name extractor - gets filename without extension * * @example * defaultPathToName('./examples/Button.svelte') // => 'Button' * defaultPathToName('../components/ui/Card.svelte') // => 'Card' */ export declare function defaultPathToName(path: string): string | undefined; /** * Transforms glob component modules into a name-to-component mapping * * @param componentModules - Record of paths to components from import.meta.glob (without ?raw) * @param pathToName - Optional function to extract component name from path * @returns Record mapping component names to their Svelte components * * @example * // Basic usage * const componentModules = import.meta.glob('./examples/*.svelte', { eager: true }); * const components = transformComponents(componentModules); * // { Button: ButtonComponent, Card: CardComponent } * * @example * // Custom path extraction * const components = transformComponents(componentModules, (path) => { * return path.match(/\/ui\/(.+)\.svelte$/)?.[1]; * }); */ export declare function transformComponents(componentModules: Record, pathToName?: (path: string) => string | undefined): Record; /** * Transforms glob modules into a name-to-code mapping * * @param modules - Record of paths to module content from import.meta.glob with ?raw * @param pathToName - Optional function to extract component name from path * @returns Record mapping component names to their source code * * @example * // Basic usage with default extractor * const exampleModules = import.meta.glob('./examples/*.svelte', { * query: '?raw', * import: 'default', * eager: true * }); * const modules = transformModules(exampleModules); * // { Button: '...code...', Card: '...code...' } * * @example * // Custom path extraction for nested structures * const modules = transformModules(exampleModules, (path) => { * return path.match(/\/ui\/(.+)\.svelte$/)?.[1]; * }); */ export declare function transformModules(modules: Record, pathToName?: (path: string) => string | undefined): Record; /** * Common path-to-name extractors for different project structures */ export declare const pathExtractors: { /** * Extract filename only (default behavior) * './examples/Button.svelte' => 'Button' */ filename: typeof defaultPathToName; /** * Extract with parent directory * './examples/ui/Button.svelte' => 'ui/Button' */ withParent: (path: string) => string | undefined; /** * Extract full relative path without extension * './examples/ui/Button.svelte' => 'examples/ui/Button' */ fullPath: (path: string) => string | undefined; /** * Custom matcher for specific directory * Usage: pathExtractors.inDirectory('components') */ inDirectory: (dirName: string) => (path: string) => string | undefined; };