import { ResizableBoxProps, ResizeCallbackData } from 'react-resizable';
import { ResizableBoxSlots } from './slots/slots';
import { OverridesStyleRules } from '@mui/material/styles/overrides';
import { Theme } from '@mui/material/styles';
import { COMPONET_KEY_COMPONENT } from './constants';
/**
 * Internal props for the ResizableBox component.
 * [maxWidth] - Maximum width allowed for the component.
 * [maxHeight] - Maximum height allowed for the component.
 * [onResize] - Callback function called
 *    when the component is resized, providing the event and resize data.
 */
type InternalResizableProps = {
    maxWidth?: number;
    maxHeight?: number;
    onResize?: (e: React.SyntheticEvent, data: ResizeCallbackData) => void;
};
/**
 * Public props for the ResizableBox component, extending the props from
 * 'react-resizable' and adding internal properties.
 * [maxWidth] - Maximum width allowed for the component.
 * [maxHeight] - Maximum height allowed for the component.
 * [onResize] - Callback function called
 *    when the component is resized, providing the event and resize data.
 * - Additional properties from ResizableBox in 'react-resizable'.
 * - Owner state that includes properties specific to the component.
 */
export type ResizableProps = InternalResizableProps & Partial<ResizableBoxProps> & ResizableOwnerState;
/**
 * Available slots types in the ResizableBox component.
 * - Keys of the slots defined in ResizableBoxSlots.
 */
export type ResizableBoxSlotsType = keyof typeof ResizableBoxSlots;
/**
 * Owner state of the ResizableBox component.
 * [disabled] - Indicates whether the component is disabled.
 */
export type ResizableOwnerState = {
    disabled?: boolean;
};
export type ResizableBoxStyles = Partial<OverridesStyleRules<ResizableBoxSlotsType, typeof COMPONET_KEY_COMPONENT, Theme> | undefined> | undefined;
export {};
//# sourceMappingURL=types.d.ts.map