import React, { ReactNode, RefObject } from 'react'; import { ResizeGroupFoundation, ResizeGroupAdapter } from '@douyinfe/semi-foundation/lib/cjs/resizable/foundation'; import BaseComponent from '../../_base/baseComponent'; import { ResizeContextProps } from './resizeContext'; import { ResizeCallback, ResizeEventType, ResizeStartCallback } from '@douyinfe/semi-foundation/lib/cjs/resizable/types'; import '@douyinfe/semi-foundation/lib/cjs/resizable/resizable.css'; export interface ResizeGroupProps { children: ReactNode; direction: 'horizontal' | 'vertical'; className?: string; } export interface ResizeGroupState { isResizing: boolean; originalPosition: { x: number; y: number; lastItemSize: number; nextItemSize: number; lastOffset: number; nextOffset: number; }; backgroundStyle: React.CSSProperties; curHandler: number; contextValue: ResizeContextProps; } declare class ResizeGroup extends BaseComponent { static propTypes: {}; static defaultProps: Partial; constructor(props: ResizeGroupProps); foundation: ResizeGroupFoundation; groupRef: React.RefObject; groupSize: number; availableSize: number; static contextType: React.Context; context: ResizeGroupProps; itemRefs: Map>; itemMinMap: Map; itemMaxMap: Map; itemMinusMap: Map; itemDefaultSizeList: Map; itemResizeStart: Map; itemResizing: Map; itemResizeEnd: Map; handlerRefs: Map>; componentDidMount(): void; componentDidUpdate(prevProps: ResizeGroupProps): void; componentWillUnmount(): void; get adapter(): ResizeGroupAdapter; get window(): Window | null; registerEvent: (type?: ResizeEventType) => void; unregisterEvent: (type?: ResizeEventType) => void; registerItem: (ref: RefObject, min: string, max: string, defaultSize: string | number, onResizeStart: ResizeStartCallback, onChange: ResizeCallback, onResizeEnd: ResizeCallback) => number; registerHandler: (ref: RefObject) => number; getGroupSize: () => number; render(): React.JSX.Element; } export default ResizeGroup;