import * as React from 'react'; import { BaseButtonTool, IBaseButtonToolProps } from './BaseButtonTool'; export interface IBaseWindowToolProps extends IBaseButtonToolProps { /** * Window header content. */ WindowHeader?: React.ReactNode; /** * Default opened. */ defaultOpened?: boolean; /** * Hide open button. */ hideOpenButton?: boolean; /** * Hide close button. */ hideCloseButton?: boolean; /** * Hide reduce button. */ hideReduceButton?: boolean; /** * Open on activate */ openOnActivate?: boolean; /** * Close on deactivate */ closeOnDeactivate?: boolean; /** * Open handler. */ onOpen?: () => void; /** * Close handler. */ onClose?: () => void; /** * Default position. */ defaultPosition?: { x: number; y: number; }; /** * Should display fold/unfold button */ displayFoldButton?: boolean; } export interface IBaseWindowToolState { /** * Open. */ open: boolean; /** * ZIndex. */ zIndex: number; /** * Bounds. */ bounds: { top: number; bottom: number; left: number; right: number; }; /** * Position. */ position: { x: number; y: number; }; isUnfold: boolean; } export declare class BaseWindowTool

extends BaseButtonTool { static defaultProps: { defaultOpened: boolean; hideCloseButton: boolean; displayFoldButton: boolean; defaultPosition: { x: number; y: number; }; toggle: boolean; className: string; buttonTitle: string; activated: boolean; defaultActivated: boolean; independant: boolean; }; windowElement: HTMLSpanElement; constructor(props: P); componentDidMount(): void; componentDidUpdate(prevProps: P, prevState: S, snap: never): void; componentWillUnmount(): void; toolDidActivate(): void; toolDidDeactivate(): void; /** * Open Window. */ open(): boolean; /** * Close Window */ close(): boolean; unfold(): boolean; fold(): boolean; checkPosition(position: { x: number; y: number; }): void; handleResize: () => void; handleStart: () => void; handleDrag: (e: any, position: { x: number; y: number; }) => void; handleButtonClick: (event: React.MouseEvent | React.TouchEvent) => void; handleWindowClick: (event: React.MouseEvent) => void; handleCloseClick: (event: React.MouseEvent | React.TouchEvent) => void; handleReduceClick: (event: React.MouseEvent | React.TouchEvent) => void; renderHeaderContent(): React.ReactNode; renderOpenButtonContent(): React.ReactNode; render(): React.ReactNode; } export interface IFunctionBaseWindowToolProps extends IBaseWindowToolProps, IBaseWindowToolState { } export declare function withBaseWindowTool

(component: string | React.FunctionComponent | React.ComponentClass, headerContent: string | React.FunctionComponent | React.ComponentClass, openButtonContent: string | React.FunctionComponent | React.ComponentClass, defaultProps?: Partial

): { new (props: P): { renderHeaderContent(): React.ReactNode; renderOpenButtonContent(): React.ReactNode; renderTool(): React.ReactNode; windowElement: HTMLSpanElement; componentDidMount(): void; componentDidUpdate(prevProps: P, prevState: IBaseWindowToolState, snap: never): void; componentWillUnmount(): void; toolDidActivate(): void; toolDidDeactivate(): void; /** * Open Window. */ open(): boolean; /** * Close Window */ close(): boolean; unfold(): boolean; fold(): boolean; checkPosition(position: { x: number; y: number; }): void; handleResize: () => void; handleStart: () => void; handleDrag: (e: any, position: { x: number; y: number; }) => void; handleButtonClick: (event: React.MouseEvent | React.TouchEvent) => void; handleWindowClick: (event: React.MouseEvent) => void; handleCloseClick: (event: React.MouseEvent | React.TouchEvent) => void; handleReduceClick: (event: React.MouseEvent | React.TouchEvent) => void; render(): React.ReactNode; handleBaseButtonClick: (event: React.MouseEvent) => void; context: import("..").IRolContext; toolDidConstruct(): void; toolDidDestroy(): void; activate(force?: boolean): void; deactivate(): void; handleBaseToolClick: () => void; setState(state: IBaseWindowToolState | ((prevState: Readonly, props: Readonly

) => IBaseWindowToolState | Pick) | Pick, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly

; state: Readonly; refs: { [key: string]: React.ReactInstance; }; shouldComponentUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): boolean; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly

, prevState: Readonly): any; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly

, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly

, nextContext: any): void; componentWillUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): void; }; defaultProps: { defaultOpened: boolean; hideCloseButton: boolean; displayFoldButton: boolean; defaultPosition: { x: number; y: number; }; toggle: boolean; className: string; buttonTitle: string; activated: boolean; defaultActivated: boolean; independant: boolean; }; contextType: React.Context; };