import { Component } from "../../model/components/SDKComponent";
import { DesignComponent } from "../../model/components/SDKDesignComponent";
import { ElementDataView } from "../../model/elements/SDKElementDataView";
import { ElementProperty, ElementPropertyTargetElementType } from "../../model/elements/SDKElementProperty";
import { ElementPropertyValue } from "../../model/elements/values/SDKElementPropertyValue";
import { TokenType } from "../../model/enums/SDKTokenType";
import { ComponentGroup } from "../../model/groups/SDKComponentGroup";
import { DesignComponentGroup } from "../../model/groups/SDKDesignComponentGroup";
import { TokenGroup } from "../../model/groups/SDKTokenGroup";
import { Source } from "../../model/support/SDKSource";
import { TokenTheme } from "../../model/themes/SDKTokenTheme";
import { Token } from "../../model/tokens/SDKToken";
import { DataCore } from "./SDKDataCore";
export declare class DataCoreCached extends DataCore {
    private tokensCache;
    private tokenGroupsCache;
    private designSystemSourcesCache;
    private themesCache;
    private elementPropertyDefinitionsCache;
    private elementPropertyValuesCache;
    private elementViewsCache;
    private componentsCache;
    private componentGroupsCache;
    private designComponentsCache;
    private designComponentGroupsCache;
    tokens(designSystemId: string, versionId: string, filter?: {
        type?: TokenType;
        brandId?: string;
    }): Promise<Token[]>;
    tokenGroups(designSystemId: string, versionId: string, filter?: {
        type?: TokenType;
        brandId?: string;
    }): Promise<TokenGroup[]>;
    designSystemSources(designSystemId: string): Promise<Source[]>;
    themes(designSystemId: string, versionId: string): Promise<TokenTheme[]>;
    elementPropertyDefinitions(designSystemId: string, versionId: string, type: ElementPropertyTargetElementType): Promise<ElementProperty[]>;
    elementPropertyValues(designSystemId: string, versionId: string): Promise<ElementPropertyValue[]>;
    elementViews(designSystemId: string, versionId: string, type: ElementPropertyTargetElementType): Promise<ElementDataView[]>;
    components(designSystemId: string, versionId: string, filter?: {
        brandId?: string;
    }): Promise<Component[]>;
    componentGroups(designSystemId: string, versionId: string): Promise<ComponentGroup[]>;
    designComponents(designSystemId: string, versionId: string, filter?: {
        brandId?: string;
    }): Promise<DesignComponent[]>;
    designComponentGroups(designSystemId: string, versionId: string, filter?: {
        brandId?: string;
    }): Promise<DesignComponentGroup[]>;
    private cached;
}
