//#region src/iconConfig.d.ts
type RemappedIcon = string | {
  name: string;
  width?: number;
  height?: number;
  viewBox?: string;
};
type FileTreeBuiltInIconSet = 'minimal' | 'standard' | 'complete';
interface FileTreeIconConfig {
  /** Use one of the built-in icon sets, or `none` for custom-only icon rules. */
  set?: FileTreeBuiltInIconSet | 'none';
  /** Enable semantic per-file-type colors for built-in icon sets. */
  colored?: boolean;
  /** An SVG string with <symbol> definitions injected into the shadow DOM. */
  spriteSheet?: string;
  /** Remap built-in tree icon slots (file, chevron, dot, lock). */
  remap?: Record<string, RemappedIcon>;
  /** Remap file icons by exact basename (e.g. "package.json", ".gitignore"). */
  byFileName?: Record<string, RemappedIcon>;
  /** Remap file icons by extension without a leading dot (e.g. "ts", "spec.ts"). */
  byFileExtension?: Record<string, RemappedIcon>;
  /** Remap file icons by basename substring (e.g. "dockerfile", "license"). */
  byFileNameContains?: Record<string, RemappedIcon>;
}
type FileTreeIcons = FileTreeBuiltInIconSet | FileTreeIconConfig;
interface NormalizedFileTreeIconConfig extends FileTreeIconConfig {
  set: FileTreeBuiltInIconSet | 'none';
  colored: boolean;
}
declare function normalizeFileTreeIcons(icons?: FileTreeIcons): NormalizedFileTreeIconConfig;
//#endregion
export { FileTreeBuiltInIconSet, FileTreeIconConfig, FileTreeIcons, NormalizedFileTreeIconConfig, RemappedIcon, normalizeFileTreeIcons };
//# sourceMappingURL=iconConfig.d.ts.map