import { Theme } from './Theme';
import { DeepPartial, DesignTokens, ThemeOptions, ThemeTokens } from './types';
export declare class Design<Block extends object> {
    readonly name: string;
    readonly rootLineHeight: number;
    readonly rootTextSize: number;
    readonly spacingUnit: number;
    readonly tokens: DesignTokens;
    constructor(name: string, tokens: Omit<DesignTokens, 'depth'>);
    /**
     * Create a new theme with the defined theme tokens, while inheriting the shared design tokens.
     */
    createTheme(options: ThemeOptions, tokens: ThemeTokens): Theme<Block>;
    /**
     * Extend and instantiate a new design instance with customized design tokens.
     */
    extend(name: string, tokens: DeepPartial<DesignTokens>): Design<Block>;
}
//# sourceMappingURL=Design.d.ts.map