import type { ReactNode } from 'react';

export type WindowFrame = {
  x: number;
  y: number;
  width: number;
  height: number;
};

export type WindowUIProps = {
  title: ReactNode;
  subtitle?: ReactNode;
  children: ReactNode;
  onOpenLayoutControls?: () => void;
  bodyClassName?: string;
  defaultFrame?: Partial<WindowFrame>;
  frame?: WindowFrame;
  onFrameChange?: (frame: WindowFrame) => void;
  zIndex?: number;
  onActivate?: () => void;
  minWidth?: number;
  minHeight?: number;
  className?: string;
  onClose?: () => void;
  preserveChildrenOnMinimize?: boolean;
  showMaximizeControl?: boolean;
  compactHeader?: boolean;
};
