import { DTTokenReferenceResolver } from "../../tools/design-tokens/utilities/SDKDTTokenReferenceResolver";
import { ElementProperty } from "../elements/SDKElementProperty";
import { ElementPropertyValue } from "../elements/values/SDKElementPropertyValue";
import { TokenType } from "../enums/SDKTokenType";
import { ColorTokenRemoteModel, TokenRemoteModel } from "./remote/SDKRemoteTokenModel";
import { ColorTokenRemoteValue } from "./remote/SDKRemoteTokenValue";
import { Token } from "./SDKToken";
import { ColorTokenValue } from "./SDKTokenValue";
export declare class ColorToken extends Token {
    value: ColorTokenValue;
    tokenType: TokenType.color;
    constructor(versionId: string, baseToken: TokenRemoteModel, value: ColorTokenValue, alias: ColorToken | null, properties: Array<ElementProperty>, propertyValues: Array<ElementPropertyValue>);
    static create(versionId: string, brandId: string, name: string, description: string, value: string, alias: ColorToken | null, properties: Array<ElementProperty>, propertyValues: Array<ElementPropertyValue>): ColorToken;
    static colorValueFromDefinition(definition: string): ColorTokenValue;
    static normalizeColor(color: string): string | null;
    static normalizeOpacity(value: string): number;
    static normalizedHex(value: string | null): string | null;
    static colorValueFromDefinitionOrReference(definition: string | object, referenceResolver: DTTokenReferenceResolver): ColorTokenValue | undefined;
    toHex6(): string;
    toHex8(): string;
    static hexToColorValue(hex: string): ColorTokenValue;
    static colorValueToHex6(value: ColorTokenValue): string;
    static colorValueToHex8(value: ColorTokenValue): string;
    /** Normalizes any color value to server readable value, and ignores alpha value optionally */
    static colorStringToNormalizedServerValue(value: string | undefined | null, ignoreAlpha?: boolean): string | null;
    static normalizedDefaultServerValue(): string;
    updateWithRawValue(value: Omit<ColorTokenValue, "referencedTokenId">): void;
    updateWithReferencedValue(value: ColorToken): void;
    toWriteObject(): ColorTokenRemoteModel;
    static valueToWriteObject(value: ColorTokenValue): {
        aliasTo: string | undefined;
        value: ColorTokenRemoteValue;
    };
}
