import { ThemeLike } from "../theming/dist/modules/types.js";

//#region src/utils/themeToTreeStyles.d.ts
/**
 * Theme-like shape compatible with Shiki/VS Code theme format (e.g. from
 * highlighter.getTheme() or resolveTheme()). No dependency on shiki; use with
 * resolved themes from @pierre/diffs or shiki. Aliased to theming's
 * `ThemeLike` — a structural superset of the keys trees reads — so existing
 * callers and tests keep typechecking unchanged.
 */
type TreeThemeInput = ThemeLike;
/**
 * CSS custom properties (--trees-theme-*) and layout styles for the tree host/panel.
 * Compatible with React inline style and the trees stylesheet fallback chain.
 */
type TreeThemeStyles = Record<string, string>;
/**
 * Maps a Shiki/VS Code–style theme to CSS for FileTree. The shared
 * fallback/repair work — surface chains, the git-color chain, the
 * transparent-focus repair, and dropping a text-erasing hover background — now
 * lives in @pierre/theming's `normalizeThemeColors`, which returns a theme in
 * the same workbench-key vocabulary with those keys resolved. This function
 * reads those resolved keys and maps them onto trees' `--trees-theme-*`
 * variables, applying trees' own presentation defaults where a key is absent.
 *
 * The one piece of trees-specific opinion kept here is the selection lookup: a
 * `list.activeSelectionBackground` that matches the sidebar surface is invisible,
 * so trees prefers `list.focusBackground` in that case. normalizeThemeColors
 * leaves the raw selection keys untouched precisely so this choice stays a trees
 * concern. The trees stylesheet uses --trees-theme-* in its fallback chain
 * (--trees-*-override → --trees-theme-* → default).
 *
 * Use with a resolved theme from shiki or @pierre/diffs:
 *
 *   const theme = await resolveTheme('dracula');
 *   const styles = themeToTreeStyles(theme);
 *   <FileTree style={styles} options={...} />
 */
declare function themeToTreeStyles(theme: TreeThemeInput): TreeThemeStyles;
//#endregion
export { TreeThemeInput, TreeThemeStyles, themeToTreeStyles };
//# sourceMappingURL=themeToTreeStyles.d.ts.map