import { Nested, ParenLess, UnitType, UnitCategory } from './types'; export declare enum CSSStyleValueType { kUnknownType = 0, kUnparsedType = 1, kKeywordType = 2, kUnitType = 3, kSumType = 4, kProductType = 5, kNegateType = 6, kInvertType = 7, kMinType = 8, kMaxType = 9, kClampType = 10, kTransformType = 11, kPositionType = 12, kURLImageType = 13, kColorType = 14, kUnsupportedColorType = 15 } /** * CSSStyleValue is the base class for all CSS values accessible from Typed OM. * Values that are not yet supported as specific types are also returned as base CSSStyleValues. * * Spec @see https://drafts.css-houdini.org/css-typed-om/#stylevalue-objects * Docs @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleValue */ export declare abstract class CSSStyleValue { static parse(propertyName: string, value: string): CSSStyleValue; static parseAll(propertyName: string, value: string): CSSStyleValue[]; static unitFromName(name: string): UnitType; static unitTypeToUnitCategory(type: UnitType): UnitCategory; static unitTypeToString(type: UnitType): "" | "em" | "px" | "deg" | "rad" | "grad" | "ms" | "s" | "rem" | "turn" | "%"; static stringToUnitType(name: string): UnitType; static canonicalUnitTypeForCategory(category: UnitCategory): UnitType.kUnknown | UnitType.kNumber | UnitType.kPixels | UnitType.kDegrees | UnitType.kSeconds | UnitType.kHertz | UnitType.kDotsPerPixel; /** * @see https://chromium.googlesource.com/chromium/src/+/refs/heads/main/third_party/blink/renderer/core/css/css_primitive_value.cc#353 */ static conversionToCanonicalUnitsScaleFactor(unit_type: UnitType): number; static isAngle(unit: UnitType): boolean; static isViewportPercentageLength(type: UnitType): boolean; static isContainerPercentageLength(type: UnitType): boolean; static isLength(type: UnitType): boolean; static isRelativeUnit(type: UnitType): boolean; static isTime(unit: UnitType): boolean; static isFrequency(unit: UnitType): boolean; static isResolution(type: UnitType): boolean; static isFlex(unit: UnitType): boolean; protected abstract getType(): CSSStyleValueType; abstract buildCSSText(n: Nested, p: ParenLess, result: string): string; abstract clone(): CSSStyleValue; toString(): string; isNumericValue(): boolean; }