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 { ShadowTokenRemoteData } from "./remote/SDKRemoteTokenData";
import { ShadowTokenRemoteModel, TokenRemoteModel } from "./remote/SDKRemoteTokenModel";
import { ShadowTokenRemoteValue } from "./remote/SDKRemoteTokenValue";
import { Token } from "./SDKToken";
import { ShadowTokenValue } from "./SDKTokenValue";
export declare class ShadowToken extends Token {
    value: Array<ShadowTokenValue>;
    shadowLayers: Array<ShadowToken>;
    isVirtual: boolean;
    tokenType: TokenType.shadow;
    constructor(versionId: string, baseToken: TokenRemoteModel, value: ShadowTokenValue[], alias: ShadowToken | null, properties: Array<ElementProperty>, propertyValues: Array<ElementPropertyValue>);
    static create(versionId: string, brandId: string, name: string, description: string, value: object, alias: ShadowToken | null, referenceResolver: DTTokenReferenceResolver, properties: Array<ElementProperty>, propertyValues: Array<ElementPropertyValue>): ShadowToken;
    static shadowValueFromDefinition(definition: object, referenceResolver: DTTokenReferenceResolver): ShadowTokenValue[];
    static shadowTokenColorAndOpacityToHex8(shadowTokenValue: ShadowTokenValue): string;
    static shadowSingleValueFromDefinition(definition: object, referenceResolver: DTTokenReferenceResolver): ShadowTokenValue;
    toWriteObject(): ShadowTokenRemoteModel;
    static valueToWriteObject(value: ShadowTokenValue[]): ShadowTokenRemoteData;
    static singleValueToWriteObject(value: ShadowTokenValue): {
        aliasTo: string | undefined;
        value: ShadowTokenRemoteValue;
    };
}
