export type ISelectPalette = Record; type IStrct = 'YES' | 'STRICT_COLOR' | 'NO'; /** * Creates a typed color-theme configuration. * Strictness is controlled by the first generic: * - "YES" → all colors + modes required * - "STRICT_COLOR" → colors required, modes optional * - "NO" → everything optional * * @template {'YES' | 'STRICT_COLOR' | 'NO'} STRICT * @template {string} PALETTE * @template {string} COLOR * @template {string} MODE * * @param {STRICT extends 'YES' * ? Record; * light: Record; * }> * : STRICT extends 'STRICT_COLOR' * ? Record & Partial>; * light: Record & Partial>; * }> * : Record>; * light: Partial>; * }> * } config * * @returns {typeof config} * * @example * // 1 — STRICT: "YES" * makeConfig< * 'YES', * 'wood' | 'chroma', * 'primary' | 'secondary', * 'hover' | 'focus' * >({ * wood: { * dark: { primary: '#000', 'primary-hover': '#111', secondary: '#222', 'secondary-focus': '#333' }, * light:{ primary: '#fff', 'primary-hover': '#eee', secondary: '#ddd', 'secondary-focus': '#ccc' } * }, * chroma: { * dark: { primary: '#010', 'primary-hover': '#020', secondary: '#030', 'secondary-focus': '#040' }, * light:{ primary: '#f10', 'primary-hover': '#f20', secondary: '#f30', 'secondary-focus': '#f40' } * } * }); * * @example * // 2 — STRICT: "STRICT_COLOR" * makeConfig< * 'STRICT_COLOR', * 'neo', * 'primary' | 'background', * 'hover' | 'fade-1' * >({ * neo: { * dark: { primary: '#000', background: '#222', 'primary-hover': '#333' }, * light:{ primary: '#fff', background: '#eee' } * } * }); * * @example * // 3 — STRICT: "NO" * makeConfig< * 'NO', * 'galaxy', * 'surface' | 'primary', * 'darken-1' | 'hover' * >({ * galaxy: { * dark: { primary: '#555', 'primary-hover': '#666' }, * light: { surface: '#ccc' } * } * }); * * @example * // 4 * makeConfig<'NO','wood','primary','hover'>({ * wood: { dark:{ primary:'#000' }, light:{} } * }); * * @example * // 5 * makeConfig<'STRICT_COLOR','chroma','primary' | 'background','focus'>({ * chroma:{ dark:{ primary:'#222', background:'#333' }, light:{ primary:'#ddd' } } * }); * * @example * // 6 * makeConfig<'YES','neo','primary','hover'>({ * neo:{ dark:{ primary:'#111','primary-hover':'#222' }, light:{ primary:'#eee','primary-hover':'#fff' } } * }); * * @example * // 7 * makeConfig<'NO','galaxy','surface','fade-1'>({ * galaxy:{ dark:{ 'surface-fade-1':'#999' }, light:{} } * }); * * @example * // 8 * makeConfig<'STRICT_COLOR','wood','primary' | 'secondary','hover'>({ * wood:{ dark:{ primary:'#100', secondary:'#200','primary-hover':'#300' }, light:{ primary:'#eee', secondary:'#ddd' } } * }); * * @example * // 9 * makeConfig<'NO','neo' | 'galaxy','primary','darken-1'>({ * neo:{ dark:{ 'primary-darken-1':'#454545' }, light:{} } * }); * * @example * // 10 * makeConfig<'STRICT_COLOR','chroma','primary','hover' | 'fade-1'>({ * chroma:{ dark:{ primary:'#121212','primary-hover':'#131313' }, light:{ primary:'#fafafa' } } * }); */ declare const makeConfig: (config: STRICT extends "YES" ? Record; light: Record; }> : STRICT extends "STRICT_COLOR" ? Record & Partial>; light: Record & Partial>; }> : Record>; light: Partial>; }>) => STRICT extends "YES" ? Record; light: Record; }> : STRICT extends "STRICT_COLOR" ? Record & Partial>; light: Record & Partial>; }> : Record>; light: Partial>; }>; export type IConfig = ReturnType>; declare const _default: { makeConfig: (config: STRICT extends "YES" ? Record; light: Record; }> : STRICT extends "STRICT_COLOR" ? Record & Partial>; light: Record & Partial>; }> : Record>; light: Partial>; }>) => STRICT extends "YES" ? Record; light: Record; }> : STRICT extends "STRICT_COLOR" ? Record & Partial>; light: Record & Partial>; }> : Record>; light: Partial>; }>; generateVuetifyPalette: (config: Record; light: Record; }>) => Record<`${PALETTE}-dark` | `${PALETTE}-light`, { colors: Record; dark: boolean; }>; take: (config: Record; light: Record; }>, entryOptions: Partial>) => { config: Record; light: Record; }>; names: string[]; }; makeCssAsString: (config: Record; light: Record; }>) => Promise<{ variables: { css: string; cssFileName: string; name: string; }[]; light: { css: string; cssFileName: string; name: string; }[]; dark: { css: string; cssFileName: string; name: string; }[]; tailwind: { css: string; cssFileName: string; name: string; }; }>; }; export default _default;