import { IThemeBuilder, IDesignSystemMetadata } from "./interfaces"; import { DesignSystem } from "./designSystem"; import { Storage } from "./storage/index"; export interface ThemeBuilderOpts { storage?: Storage; } /** * The main Theme Builder class. * * @category Main */ export declare class ThemeBuilder implements IThemeBuilder { private static default; static setDefault(opts?: ThemeBuilderOpts): Promise; static getDefault(): ThemeBuilder; /** * Create a theme builder. * @param opts Theme Builder options. * @returns The ThemeBuilder object. */ static create(opts?: ThemeBuilderOpts): Promise; readonly storage: Storage; private readonly designSystems; private constructor(); /** * Add a new design system to the theme builder. * @param name The name of the design system to add. * @param opts Optional arguments. opts.sample=true if this is a sample design system. * @returns The new design system */ addDesignSystem(name: string, opts?: { sample?: boolean; }): Promise; /** * Get an existing design system by name * @param name The name of the design system to return. * @returns The design system with the specified name, or throws an error otherwise. */ getDesignSystem(name: string): Promise; /** * Delete the design system named 'name'. * * @param name The name of the design system to delete. */ deleteDesignSystem(name: string): Promise; newDesignSystemFromObject(name: string, obj: Object): DesignSystem; /** * Get a list of all design system names. * @returns The list of all design system names. */ listDesignSystemNames(): Promise; listMetadata(): Promise; store(ds: DesignSystem): Promise; }