import { type ArrayOrValue } from './../array/array';
import { type Maybe } from '../value/maybe.type';
import { type PrimativeValue } from '../type';
/**
* HTML heading level corresponding to `
` through ``.
*/
export type HtmlHeaderLevel = 1 | 2 | 3 | 4 | 5 | 6;
/**
* Represents a single CSS Class
*/
export type CssClass = string;
/**
* The name portion of a CSS token, without the leading `--` prefix.
*
* @example
* ```ts
* const name: CssTokenName = 'dbx-primary-color';
* ```
*/
export type CssTokenName = string;
/**
* Represents a CSS custom property token (CSS variable).
*
* @example
* ```ts
* const token: CssToken = '--dbx-primary-color';
* ```
*/
export type CssToken = `--${T}`;
/**
* A CSS token wrapped in a var() call.
*
* @example
* ```ts
* const tokenVar: CssTokenVar = 'var(--dbx-primary-color)';
* ```
*/
export type CssTokenVar = `var(${T})`;
/**
* Converts a CSS token into a var() string.
*
* @example
* ```ts
* cssTokenVar('--dbx-primary-color'); // 'var(--dbx-primary-color)'
* ```
*
* @param cssToken - the CSS token to convert
* @returns the var() string
*/
export declare function cssTokenVar(cssToken: T): CssTokenVar;
/**
* @deprecated Use {@link CssToken} instead.
*/
export type CssVariable = CssToken;
/**
* @deprecated Use {@link CssTokenVar} instead.
*/
export type CssVariableVar = CssTokenVar;
/**
* @deprecated Use {@link cssTokenVar} instead.
*/
export declare const cssVariableVar: typeof cssTokenVar;
/**
* Represents a single CSS Style
*/
export type CssStyle = string;
/**
* Represents one or more CssClasses that are space separated.
*/
export type SpaceSeparatedCssClasses = string;
/**
* Key-value object of CSS style values.
*/
export type CssStyleObject = Record>;
/**
* Represents one or more CssStyles that are space separated.
*/
export type SpaceSeparatedCssStyles = string;
/**
* One or more arrays of one or more CSS classes/arrays of classes.
*/
export type CssClassesArray = ArrayOrValue>;
/**
* Joins together various arrays of CSS classes into a single space-separated string of unique class names.
*
* @param cssClasses - one or more CSS class values or arrays of class values
* @returns a space-separated string of unique CSS class names, or an empty string if input is null/undefined
*/
export declare function spaceSeparatedCssClasses(cssClasses: Maybe): SpaceSeparatedCssClasses;
/**
* Parses and deduplicates CSS classes from various array/string inputs into a Set.
* Space-separated class strings are split into individual class names.
*
* @param cssClasses - one or more CSS class values or arrays of class values
* @returns a Set of unique CSS class names, or an empty Set if input is null/undefined
*/
export declare function cssClassesSet(cssClasses: Maybe): Set;