import { TokenType } from "../enums/SDKTokenType";
import { Token } from "../tokens/SDKToken";
import { AnyToken, AnyTokenValue } from "../tokens/SDKTokenValue";
import { TokenThemeOverrideRemoteModel } from "./SDKTokenThemeOverride";
export type TokenThemeRemoteModel = {
    meta: {
        name: string;
        description: string;
    };
    id?: string;
    persistentId: string;
    designSystemVersionId: string;
    brandId: string;
    codeName: string;
    createdAt?: string;
    updatedAt?: string;
    overrides: Array<TokenThemeOverrideRemoteModel>;
    parentPersistentId?: string;
    collectionPersistentIds: Array<string>;
};
export declare class TokenTheme {
    id: string;
    idInVersion: string;
    brandId: string;
    designSystemVersionId: string;
    name: string;
    description: string;
    codeName: string;
    createdAt: Date | null;
    updatedAt: Date | null;
    overriddenTokens: Array<Token>;
    parentPersistentId: string | null;
    collectionPersistentIds: Array<string>;
    /**
     * For child themes created from extended collections, this includes the name of that collection.
     * No value for root themes, which include any themes created directly in SN without importing.
     */
    collectionName: string | undefined;
    constructor(model: TokenThemeRemoteModel, versionId: string, collectionName?: string);
    addOverride(override: Token): void;
    addOverrides(overrides: Array<Token>): void;
    toWriteObject(): TokenThemeRemoteModel;
    private tokensToOverrides;
    toWriteOverrideObject(token: Token): TokenThemeOverrideRemoteModel;
    valueToWriteObject(value: AnyTokenValue, type: TokenType, token: AnyToken): {
        aliasTo: string | undefined;
        value: import("../tokens/remote/SDKRemoteTokenValue").BlurTokenRemoteValue;
    } | {
        aliasTo: string | undefined;
        value: import("../tokens/remote/SDKRemoteTokenValue").BorderTokenRemoteValue;
    } | {
        aliasTo: string | undefined;
        value: import("../tokens/remote/SDKRemoteTokenValue").ColorTokenRemoteValue;
    } | import("../tokens/remote/SDKRemoteTokenData").GradientTokenRemoteData | {
        aliasTo: string | undefined;
        value: import("../tokens/remote/SDKRemoteTokenValue").AnyDimensionTokenRemoteValue;
    } | import("../tokens/remote/SDKRemoteTokenData").ShadowTokenRemoteData | {
        aliasTo: string | undefined;
        value: import("../tokens/remote/SDKRemoteTokenValue").StringTokenRemoteValue;
    } | {
        aliasTo: string | undefined;
        value: import("../tokens/remote/SDKRemoteTokenValue").TypographyTokenRemoteValue;
    };
}
