import { UseThemeHook } from './use-theme.js';
import 'react';
import '../context-DTdAssyl.js';
import '../types-BK2-7cKa.js';

type ThemeValueMap<T extends string, V> = Partial<Record<T | 'system', V>> & {
    default?: V;
};
type UseThemeValueHook = <V, T extends string = string>(map: ThemeValueMap<T, V>) => V | undefined;
/**
 * Build a `useThemeValue` bound to a specific `useTheme`, so a factory-created
 * API reads from its own context. See `makeUseTheme` for the why.
 */
declare function makeUseThemeValue(useThemeHook: UseThemeHook): UseThemeValueHook;
/**
 * Map the active theme to a value. Resolved theme is preferred (so `'system'`
 * users see the concrete light/dark value); falls back to the raw selection
 * then to `map.default`.
 *
 * @example
 *   const color = useThemeValue({ light: '#fff', dark: '#000', default: '#fff' });
 */
declare const useThemeValue: UseThemeValueHook;

export { makeUseThemeValue, useThemeValue };
export type { ThemeValueMap, UseThemeValueHook };
