//#region src/index.d.ts
type ColorValue = string | [string] | [string, ('rgb' | 'hsl' | ((prefixKey: string, value: string) => string) | undefined)];
interface RecursiveRecord {
  DEFAULT?: ColorValue;
  dark?: string;
  [key: string]: string | ColorValue | RecursiveRecord | undefined;
}
interface Theme {
  [key: string]: RecursiveRecord;
}
interface ThemeVar {
  ':root': Record<string, string>;
  [key: string]: Record<string, string>;
}
type DeepPartial<T> = { [P in keyof T]?: T[P] extends ((...args: any[]) => any) ? T[P] : T[P] extends object ? DeepPartial<T[P]> : T[P] };
interface Options {
  colorRule?: 'rgb' | 'hsl';
  safelist?: string[];
  theme?: Record<string, any>;
  darkMode?: boolean | string[];
  content?: string[];
  plugins?: any[];
}
declare function presetTheme(theme: DeepPartial<Theme>, options: Options): {
  safelist: string[];
  darkMode: boolean | string[] | undefined;
  content: string[];
  theme: {
    extend: {
      colors: Theme;
    };
  };
  plugins: any[];
};
declare function generateColors(theme: Theme, options?: Options): Theme;
declare function processTheme(theme: Theme): ThemeVar;
declare function flatten(theme: Theme): Record<string, string>;

//#endregion
export { ColorValue, DeepPartial, RecursiveRecord, Theme, ThemeVar, flatten, generateColors, presetTheme, processTheme };