import { RouteConf, MicroApp, BrickConf } from "@next-core/brick-types"; export declare type StoryboardTree = StoryboardNodeApp; export declare type StoryboardNode = StoryboardNodeApp | StoryboardNodeSubRoutes | StoryboardNodeSlottedRoutes | StoryboardNodeRoutedBrick | StoryboardNodeSlottedBrick | StoryboardNodeRedirect; export declare type RouteData = Omit; export declare type BrickData = Omit; export interface AbstractStoryboardNode { type: "app" | "routes" | "brick" | "redirect"; brickType?: "routed" | "slotted"; routeType?: "routed" | "slotted"; children?: AbstractStoryboardNode[]; appData?: MicroApp; routeData?: RouteData; brickData?: BrickData; slotName?: string; groupIndex?: number; $$originalNode?: AbstractStoryboardNode; } export interface StoryboardNodeApp { type: "app"; children: StoryboardNodeRoutedChild[]; appData: MicroApp; groupIndex?: number; $$originalNode?: StoryboardNodeApp; } export declare type StoryboardNodeRoutedChild = StoryboardNodeSubRoutes | StoryboardNodeRoutedBrick | StoryboardNodeRedirect; export interface StoryboardNodeSubRoutes { type: "routes"; routeType: "routed"; children: StoryboardNodeRoutedChild[]; routeData: RouteData; groupIndex: number; $$originalNode?: StoryboardNodeSubRoutes; } export interface StoryboardNodeRedirect { type: "redirect"; routeData: RouteData; children?: []; groupIndex: number; $$originalNode?: StoryboardNodeRedirect; } export interface StoryboardNodeSlottedRoutes { type: "routes"; routeType: "slotted"; slotName: string; children: StoryboardNodeRoutedChild[]; groupIndex: number; $$originalNode?: StoryboardNodeSlottedRoutes; } export declare type StoryboardNodeBrickChild = StoryboardNodeSlottedRoutes | StoryboardNodeSlottedBrick; export declare type StoryboardNodeBrick = StoryboardNodeRoutedBrick | StoryboardNodeSlottedBrick; export interface StoryboardNodeBaseBrick { type: "brick"; children?: StoryboardNodeBrickChild[]; brickData: BrickData; groupIndex: number; $$originalNode?: StoryboardNodeBrick; } export interface StoryboardNodeRoutedBrick extends StoryboardNodeBaseBrick { brickType: "routed"; routeData: RouteData; } export interface StoryboardNodeSlottedBrick extends StoryboardNodeBaseBrick { brickType: "slotted"; slotName: string; }