import { IChangeEventDetail } from "../core/schemas/types";
import { ILayoutNodeConfig, LayoutNode } from "./layout-system-types";
import { ILayout } from "./types";
/**
 * Interface representing the information emitted when
 * a layout node is changed in the layout editor.
 */
export interface ILayoutNodeChangeEventDetail extends IChangeEventDetail {
    id: string;
    layoutNodeConfig: ILayoutNodeConfig;
}
/**
 * Interface representing the information emitted when
 * a layout is published.
 */
export interface ILayoutPublishEventDetail {
    layout: ILayout;
    successCallback?: () => void | Promise<void>;
}
/**
 * Interface representing the information emitted when
 * a layout node is repositioned.
 */
export interface ILayoutNodeRepositionEventDetail {
    node: LayoutNode;
    direction: "down" | "up";
}
