import * as StateModel from './state-model'; import * as DropModel from './drop-model'; import { FloatyManager } from './floaty-manager'; export interface ColumnRendererProps { floatyManager: FloatyManager; floatyRenderers: FloatyRenderers; column: StateModel.Column; } export interface RowRendererProps { floatyManager: FloatyManager; floatyRenderers: FloatyRenderers; row: StateModel.Row; } export interface ColumnSeparatorRendererProps { floatyRenderers: FloatyRenderers; index: number; onMove: (index: number, deltaY: number) => void; clamp: (index: number, deltaY: number) => number | null; } export interface RowSeparatorRendererProps { floatyRenderers: FloatyRenderers; index: number; onMove: (index: number, deltaX: number) => void; clamp: (index: number, deltaX: number) => number | null; } export interface ColumnSeparatorHandleRendererProps { offset: number; } export interface RowSeparatorHandleRendererProps { offset: number; } export interface TabRendererProps { floatyManager: FloatyManager; stack: StateModel.Stack; stackItemIndex: number; stackItem: StateModel.StackItem; } export interface TabFillerRendererProps { floatyManager: FloatyManager; stack: StateModel.Stack; } export interface ContentRendererProps { floatyManager: FloatyManager; stack: StateModel.Stack; stackIndex: number; stackItem: StateModel.StackItem; } export interface StackRendererProps { floatyManager: FloatyManager; floatyRenderers: FloatyRenderers; stack: StateModel.Stack; } export interface StackContainerRendererProps { floatyManager: FloatyManager; stack: StateModel.Stack; } export interface StackTabsRendererProps { floatyManager: FloatyManager; stack: StateModel.Stack; } export interface LayoutRendererProps { floatyManager: FloatyManager; floatyRenderers: FloatyRenderers; layout: StateModel.Layout; } export interface FloatingTabRendererProps { floatyManager: FloatyManager; stackItem: StateModel.StackItem; } export interface FloatingContentRendererProps { floatyManager: FloatyManager; stackItem: StateModel.StackItem; } export interface FloatingRendererProps { floatyManager: FloatyManager; floatyRenderers: FloatyRenderers; floating: StateModel.StackItem; } export interface DropAreaRendererProps { floatyManager: FloatyManager; dropArea: DropModel.DropArea; } export interface FloatyRenderers { columnRenderer: React.ComponentType>; columnSeparatorHandleRenderer: React.ComponentType; columnSeparatorRenderer: React.ComponentType>; contentRenderer: React.ComponentType>; dropAreaRenderer: React.ComponentType>; floatingContentRenderer: React.ComponentType>; floatingRenderer: React.ComponentType>; floatingTabRenderer: React.ComponentType>; layoutRenderer: React.ComponentType>; rowRenderer: React.ComponentType>; rowSeparatorHandleRenderer: React.ComponentType; rowSeparatorRenderer: React.ComponentType>; stackContainerRenderer: React.ComponentType>; stackRenderer: React.ComponentType>; stackTabsRenderer: React.ComponentType>; tabFillerRenderer: React.ComponentType>; tabRenderer: React.ComponentType>; }