import type * as DEFAULT_SWATCH from './consts/default-swatch.js'; import { type ConfigOptions, type PresetOrCustom } from './get-colors-base.js'; import type { TokensBase } from './types/tokens-base.js'; import type { DefaultTokens, DefaultTokensFull, Themed, ThemeKey } from './types/tokens.js'; import { type ColorFormat } from './utils/convert-color.js'; export interface SemanticConfigOptions extends ConfigOptions { /** Брендовый цвет из палитры или кастомная строка */ brand: PresetOrCustom; /** * Акцентный цвет. * `brand` — совпадает с брендовым, `gray` — в оттенках серого */ accent: PresetOrCustom<'brand' | 'gray'>; /** * Возвращать токены для конкретной темы или для всех сразу */ theme: ThemeKey | 'all'; /** Объект с образцами цветов warning, error, success */ system?: typeof DEFAULT_SWATCH.system; /** * Формат выгрузки токенов * @default 'hex/rgba' */ format?: ColorFormat; /** * Формат возвращаемых данных * @default 'object' */ output?: 'object' | 'css'; /** * Кастомные селекторы для генерируемого CSS через `output: 'css'`. * Поддерживают плейсхолдеры $brand, $accent, $theme. * @default { * light: "[data-k-brand='$brand'][data-k-accent='$accent']", * dark: "[data-k-brand='$brand'][data-k-accent='$accent'][data-k-theme='$theme']" * } */ outputSelectors?: { light?: string; dark?: string; }; /** * Колбэк для формирования кастомного списка семантических токенов * @param base Ссылки на базовые токены * @param defaults Токены по умолчанию * @param params Параметры переданные в getColors */ overrides?: (base?: TokensBase, defaults?: DefaultTokensFull, params?: SemanticConfigOptions) => Themed; } /** * Получение списка семантических токенов в виде объекта * * @param {SemanticConfigOptions} params - Конфигурация генерации * @returns {DefaultTokens} Список токенов */ export declare function getColors(params: SemanticConfigOptions & { output?: 'object'; }): DefaultTokens; /** * Получение списка семантических токенов в виде CSS-строки * * @param {SemanticConfigOptions} params - Конфигурация генерации с output: 'css' * @returns {string} CSS-строка */ export declare function getColors(params: SemanticConfigOptions & { output: 'css'; }): string;