import { LitElement } from 'lit-element/lit-element.js'; import '@kano/styles/color.js'; import '@kano/styles/typography.js'; import './kc-part-list-item.js'; import { EventEmitter, IEvent } from '@kano/common/index.js'; import { PartInlineDisplay } from '../../lib/parts/inline-display.js'; import { Editor } from '../../lib/index.js'; export interface IStackEntry { id: string; name: string; icon: HTMLTemplateElement; inlineDisplay: PartInlineDisplay; editor: Editor; color: string; entry?: any; } export declare class KCPartsControls extends LitElement { private _onDidClickAddParts; private _onDidClickRemovePart; parts: IStackEntry[]; addPartsHidden: boolean; readonly onDidClickAddParts: IEvent; readonly onDidClickRemovePart: IEvent; static readonly styles: import("lit-element").CSSResult; render(): import("lit-element").TemplateResult; readonly addPartsButton: Element | null; _addPartClicked(): void; _removePartClicked(part: any): void; _removePart(part: any): void; _partItemTapped(part: any): void; getPartNode(id: string): HTMLElement; addEntry(model: IStackEntry): IPartsControlsEntry; _onNameChange(e: CustomEvent, part: IStackEntry): void; _validatePartName(oldName: string, newName: string): string | true; } export interface IPartsControlsEntry { _onDidChangeName: EventEmitter; onDidChangeName: IEvent; dispose(): void; update(model: IStackEntry): void; }