import { ElementProperty } from "../elements/SDKElementProperty"; import { ElementPropertyValue } from "../elements/values/SDKElementPropertyValue"; import { TokenType } from "../enums/SDKTokenType"; import { TokenOrigin } from "../support/SDKTokenOrigin"; import { TokenRemoteModel } from "./remote/SDKRemoteTokenModel"; import { TokenValue } from "./SDKTokenValue"; export type TokenResolutionState = "default" | "fallthrough" | "override"; export declare class Token implements TokenValue { /** Persistent id of the token. This id never changes across versions */ id: string; /** Version id of the token. This id changes whenever a new version is created, and each version of the token in version has different id */ idInVersion: string; /** Persistent id of the brand. This id never changes as tokens can't be moved across the brands */ brandId: string; themeId: string | null; designSystemVersionId: string; collectionId: string | null; name: string; description: string; tokenType: TokenType; origin: TokenOrigin | null; parentGroupId: string; tokenPath: Array | null; sortOrder: number; properties: Array; propertyValues: Record; createdAt: Date | null; updatedAt: Date | null; resolutionState: TokenResolutionState; constructor(model: TokenRemoteModel, versionId: string, properties: Array, propertyValues: Array, empty?: boolean); setParentGroupId(parentGroupId: string | null): void; setTokenPath(tokenPath: Array): void; setSortOrder(order: number): void; toBaseWriteObject(): TokenRemoteModel; toWriteObject(): TokenRemoteModel; copyWith(key: K, value: this[K]): this; }