import { IMetaDefinition } from '../meta-api/module.js';
import { PartInlineDisplay } from './inline-display.js';
import { Part } from './part.js';
import { Editor } from '../editor/editor.js';
interface InlineDisplayConstructor {
    new (...args: any[]): PartInlineDisplay;
}
/**
 * Describes the editor experience for a part.
 * Toolbox, color, icon, inline display,...
 */
export interface IPartAPI {
    type: string;
    color: string;
    label: string;
    symbols: IMetaDefinition[];
    icon: HTMLTemplateElement;
    inlineDisplay?: InlineDisplayConstructor;
    onInstall?(editor: Editor, part: Part): void;
}
export {};
