import { LinkedList, LinkedNode } from '../../shared/linkList.js'; import Base, { BaseLayerProps } from '../BaseLayer/index.js'; import { GroupLayer } from '../GroupLayer/index.js'; type RootLayerProps = { uuid?: string; } & BaseLayerProps; interface RootLayerType { groupId: 'GROUP_ID_ROOT_COMP'; children: LinkedList; getGroup: (index: number) => LinkedNode | null; /** * 插入分组 插入index前 */ insertGroup(group: GroupLayer, index: number): void; /** * 末尾插入分组 */ pushGroup(group: GroupLayer): void; /** * 删除分组 */ deleteGroup(uuid: string): void; /** * 移动分组 */ moveGroup(uuid: string, toIndex: number): void; } declare class RootLayer extends Base implements RootLayerType { groupId: 'GROUP_ID_ROOT_COMP'; children: LinkedList; getGroup: (index: number) => LinkedNode | null; constructor(namespcae: string, props: RootLayerProps); setComp(): void; insertGroup(group: GroupLayer, index: number): void; pushGroup(group: GroupLayer): void; deleteGroup(uuid: string): void; moveGroup(uuid: string, toIndex: number): void; getLayerDraft(): RootLayerProps; duplicate(): RootLayer; } export { RootLayer }; export type { RootLayerProps };