import type { ReactNode } from "react"; import type { Props as RndProps } from "react-rnd"; export type WindowAttr = { id: string; defaultWindowPos: NonNullable; header: ReactNode; body: ReactNode; }; export type BigWindow = "full" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | false; export type WindowExpAttr = { closed: boolean; maximize: BigWindow; minimize: boolean; windowPos: NonNullable; }; export type WindowState = WindowAttr & WindowExpAttr & { layerIndex: number; isActive: boolean; }; export type WindowUIProps = { window: WindowState; } & RndProps;