import { BlurType } from "../enums/SDKBlurType"; import { BorderPosition } from "../enums/SDKBorderPosition"; import { BorderStyle } from "../enums/SDKBorderStyle"; import { GradientType } from "../enums/SDKGradientType"; import { ShadowType } from "../enums/SDKShadowType"; import { TokenType } from "../enums/SDKTokenType"; import { LineHeightUnit, MsUnit, PxUnit, RawUnit, SizeUnit, Unit } from "../enums/SDKUnit"; import { TokenOrigin } from "../support/SDKTokenOrigin"; import { BlurToken } from "./SDKBlurToken"; import { BorderToken } from "./SDKBorderToken"; import { ColorToken } from "./SDKColorToken"; import { AnyDimensionToken } from "./SDKDimensionToken"; import { GradientToken } from "./SDKGradientToken"; import { ShadowToken } from "./SDKShadowToken"; import { AnyStringToken } from "./SDKStringToken"; import { TextCaseToken } from "./SDKTextCaseToken"; import { TextDecorationToken } from "./SDKTextDecorationToken"; import { Token } from "./SDKToken"; import { TypographyToken } from "./SDKTypographyToken"; import { VisibilityToken } from "./SDKVisibilityToken"; export type TokenValue = { id: string; name: string; description: string; tokenType: TokenType; origin: TokenOrigin | null; }; export type ColorTokenValue = { color: ColorValue; opacity: OpacityTokenValue; referencedTokenId: string | null; }; export type ColorValue = { r: number; g: number; b: number; referencedTokenId: string | null; }; export type TypographyTokenValueTypes = FontFamilyTokenValue | FontWeightTokenValue | FontSizeTokenValue | TextDecorationTokenValue | TextCaseTokenValue | LetterSpacingTokenValue | LineHeightTokenValue | ParagraphSpacingTokenValue; export type TypographyTokenValue = { fontFamily: FontFamilyTokenValue; fontWeight: FontWeightTokenValue; fontSize: FontSizeTokenValue; textDecoration: TextDecorationTokenValue; textCase: TextCaseTokenValue; letterSpacing: LetterSpacingTokenValue; lineHeight: LineHeightTokenValue | null; paragraphIndent: ParagraphSpacingTokenValue; paragraphSpacing: ParagraphSpacingTokenValue; referencedTokenId: string | null; }; export type ShadowTokenValue = { color: ColorTokenValue; x: number; y: number; radius: number; spread: number; opacity?: OpacityTokenValue; type: ShadowType; referencedTokenId: string | null; }; export type DimensionTokenValue = { unit: Unit; measure: number; referencedTokenId: string | null; }; export type SizeTokenValue = { unit: SizeUnit; measure: number; referencedTokenId: string | null; }; export type SpaceTokenValue = { unit: SizeUnit; measure: number; referencedTokenId: string | null; }; export type OpacityTokenValue = { unit: RawUnit; measure: number; referencedTokenId: string | null; }; export type FontSizeTokenValue = { unit: SizeUnit; measure: number; referencedTokenId: string | null; }; export type LineHeightTokenValue = { unit: LineHeightUnit; measure: number; referencedTokenId: string | null; }; export type LetterSpacingTokenValue = { unit: SizeUnit; measure: number; referencedTokenId: string | null; }; export type ParagraphSpacingTokenValue = { unit: SizeUnit; measure: number; referencedTokenId: string | null; }; export type BorderWidthTokenValue = { unit: PxUnit; measure: number; referencedTokenId: string | null; }; export type RadiusTokenValue = { unit: PxUnit; measure: number; referencedTokenId: string | null; }; export type DurationTokenValue = { unit: MsUnit; measure: number; referencedTokenId: string | null; }; export type ZIndexTokenValue = { unit: RawUnit; measure: number; referencedTokenId: string | null; }; export type AnyDimensionTokenValue = DimensionTokenValue | SizeTokenValue | SpaceTokenValue | OpacityTokenValue | FontSizeTokenValue | LineHeightTokenValue | LetterSpacingTokenValue | ParagraphSpacingTokenValue | BorderWidthTokenValue | RadiusTokenValue | DurationTokenValue | ZIndexTokenValue; export type BorderTokenValue = { color: ColorTokenValue; width: BorderWidthTokenValue; position: BorderPosition; style: BorderStyle; referencedTokenId: string | null; }; export type GradientTokenValue = { to: { x: number; y: number; }; from: { x: number; y: number; }; type: GradientType; aspectRatio: number; stops: Array; referencedTokenId: string | null; }; export type GradientStopValue = { position: number; color: ColorTokenValue; }; export type StringTokenValue = { text: string; referencedTokenId: string | null; }; export type ProductCopyTokenValue = { text: string; referencedTokenId: string | null; }; export type FontFamilyTokenValue = { text: string; referencedTokenId: string | null; }; export type FontWeightTokenValue = { text: string; referencedTokenId: string | null; }; export type AnyStringTokenValue = StringTokenValue | ProductCopyTokenValue | FontFamilyTokenValue | FontWeightTokenValue; export type TextCaseTokenValue = { value: string; options?: string[]; referencedTokenId: string | null; }; export type TextDecorationTokenValue = { value: string; options?: string[]; referencedTokenId: string | null; }; export type VisibilityTokenValue = { value: string; options?: string[]; referencedTokenId: string | null; }; export type AnyOptionTokenValue = TextCaseTokenValue | TextDecorationTokenValue | VisibilityTokenValue; export type AnyOptionToken = TextCaseToken | TextDecorationToken | VisibilityToken; export type BlurTokenValue = { type: BlurType; radius: DimensionTokenValue; referencedTokenId: string | null; }; export type AnyTokenValue = ColorTokenValue | AnyStringTokenValue | TypographyTokenValue | ShadowTokenValue[] | AnyDimensionTokenValue | BorderTokenValue | GradientTokenValue[] | BlurTokenValue | AnyOptionTokenValue; export type AnyToken = ColorToken | AnyStringToken | TypographyToken | ShadowToken | AnyDimensionToken | BorderToken | GradientToken | BlurToken | AnyOptionToken; export type AnySingleLayerToken = Exclude; export type AnyMultiLayerToken = ShadowToken | GradientToken; export type AnyMultiLayerTokenValue = ShadowTokenValue | GradientTokenValue; export type AnyPlainTokenValue = Exclude | ShadowTokenValue | GradientTokenValue; export type RawValue = Omit; export declare const getReferencedTokens: (token: AnyToken, allTokens: Map) => Token[]; export declare const getSingleReferencedTokenId: (token: AnyToken, allTokens: Map) => string | undefined; export declare const checkSingleReferencedTokenById: (token: AnyToken, candidateId: string, allTokens: Map) => boolean; export declare const replaceReferencedTokenIds: (token: AnyToken, currentId: string, newId: string, allTokens: Map) => void; export declare const replaceReferencedTokenByIds: (token: Token, existingTokenId: string, newTokenId: string) => void; export declare const replaceOriginReferencePersistentIdByIds: (token: Token, existingTokenId: string, newTokenId: string) => void; export declare const replaceReferencedToken: (token: Token, existingToken: AnyToken, newToken: AnyToken) => void;