import { CSSDirective } from "@microsoft/fast-element"; import { CSSDesignToken, DesignToken, ValuesOf } from "@microsoft/fast-foundation"; import { StyleProperty } from "./modules/types.js"; import { InteractiveTokenGroup } from "./types.js"; /** * Standard design token types from the community group and new types defined in Adaptive UI. * * @public */ export declare const DesignTokenType: { readonly color: "color"; readonly dimension: "dimension"; readonly fontFamily: "fontFamily"; readonly fontWeight: "fontWeight"; readonly duration: "duration"; readonly cubicBezier: "cubicBezier"; readonly number: "number"; readonly strokeStyle: "strokeStyle"; readonly border: "border"; readonly transition: "transition"; readonly shadow: "shadow"; readonly gradient: "gradient"; readonly typography: "typography"; readonly boolean: "boolean"; readonly fontStyle: "fontStyle"; readonly fontVariations: "fontVariations"; readonly palette: "palette"; readonly recipe: "recipe"; readonly paint: "paint"; readonly string: "string"; }; /** * A design token data type, either from the community group, Adaptive UI, or custom. * * @public */ export type DesignTokenType = ValuesOf | string; /** * Metadata describing the value type and intended styling uses of a DesignToken. * * @public */ export type DesignTokenMetadata = { readonly type: DesignTokenType; readonly intendedFor?: StyleProperty[]; }; /** * A global registry for looking up Design Tokens by ID. * * @public */ export declare abstract class DesignTokenRegistry { /** * The shared Design Token registry. */ static Shared: Map>; /** * The Design Token Group registry. * * @remarks * Currently only Interactive Token Groups are meaningful and supported. */ static Groups: Map>; } /** * A DesignToken with value type and intended styling uses. * * @public */ export declare class TypedDesignToken extends DesignToken implements DesignTokenMetadata { constructor(name: string, type: DesignTokenType, intendedFor?: StyleProperty | StyleProperty[]); /** * Factory to create a DesignToken with value type and intended styling uses. */ static createTyped(name: string, type: DesignTokenType, intendedFor?: StyleProperty | StyleProperty[]): TypedDesignToken; } /** * @internal */ export interface TypedDesignToken extends DesignTokenMetadata { } /** * A CSSDesignToken with value type and intended styling uses. * * @public */ export declare class TypedCSSDesignToken extends CSSDesignToken implements DesignTokenMetadata { constructor(name: string, type: DesignTokenType, intendedFor?: StyleProperty | StyleProperty[]); /** * Factory to create a DesignToken with value type and intended styling uses. */ static createTyped(name: string, type: DesignTokenType, intendedFor?: StyleProperty | StyleProperty[]): TypedCSSDesignToken; } /** * @internal */ export interface TypedCSSDesignToken extends DesignTokenMetadata { } /** * A design token value for css properties which can have multiple values, like `box-shadow`. * * @public */ export declare class DesignTokenMultiValue extends Array implements CSSDirective { /** * {@inheritdoc @microsoft/fast-element#CSSDirective.createCSS} */ createCSS(): string; }