import type { Direction, Size, Enable, ResizeStartCallback, ResizeCallback, HandleClassName } from '@douyinfe/semi-foundation/lib/es/resizable/types'; import '@douyinfe/semi-foundation/lib/es/resizable/resizable.css'; import { CSSProperties, PropType, VNode } from 'vue'; import { CombineProps } from '../../interface'; export interface HandleComponent { top?: VNode; right?: VNode; bottom?: VNode; left?: VNode; topRight?: VNode; bottomRight?: VNode; bottomLeft?: VNode; topLeft?: VNode; } export interface HandleStyle { top?: CSSProperties; right?: CSSProperties; bottom?: CSSProperties; left?: CSSProperties; topRight?: CSSProperties; bottomRight?: CSSProperties; bottomLeft?: CSSProperties; topLeft?: CSSProperties; } export interface ResizableProps { style?: CSSProperties; className?: string; grid?: [number, number] | number; snap?: { x?: number[]; y?: number[]; }; snapGap?: number; bounds?: any; boundElement?: 'parent' | 'window' | HTMLElement; boundsByDirection?: boolean; size?: Size; minWidth?: string | number; minHeight?: string | number; maxWidth?: string | number; maxHeight?: string | number; lockAspectRatio?: boolean | number; lockAspectRatioExtraWidth?: number; lockAspectRatioExtraHeight?: number; enable?: Enable | false; handleStyle?: HandleStyle; handleClass?: HandleClassName; handleWrapperStyle?: CSSProperties; handleWrapperClass?: string; handleNode?: HandleComponent; onResizeStart?: ResizeStartCallback; onChange?: ResizeCallback; onResizeEnd?: ResizeCallback; defaultSize?: Size; scale?: number; ratio?: number | [number, number]; } export interface ResizableState { isResizing: boolean; direction: Direction; original: { x: number; y: number; width: number; height: number; }; width: number | string; height: number | string; backgroundStyle: CSSProperties; flexBasis?: string | number; } export declare const vuePropsType: CombineProps; declare const Resizable: import("vue").DefineComponent | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; grid: PropType | { type: PropType; default?: any; required?: false; }; snap: PropType<{ x?: number[]; y?: number[]; }> | { type: PropType<{ x?: number[]; y?: number[]; }>; default?: any; required?: false; }; snapGap: PropType | { type: PropType; default?: any; required?: false; }; bounds: PropType | { type: PropType; default?: any; required?: false; }; boundElement: PropType | { type: PropType; default?: any; required?: false; }; boundsByDirection: PropType | { type: PropType; default?: any; required?: false; }; size: PropType | { type: PropType; default?: any; required?: false; }; minWidth: PropType | { type: PropType; default?: any; required?: false; }; minHeight: PropType | { type: PropType; default?: any; required?: false; }; maxWidth: PropType | { type: PropType; default?: any; required?: false; }; maxHeight: PropType | { type: PropType; default?: any; required?: false; }; lockAspectRatio: PropType | { type: PropType; default?: any; required?: false; }; lockAspectRatioExtraWidth: PropType | { type: PropType; default?: any; required?: false; }; lockAspectRatioExtraHeight: PropType | { type: PropType; default?: any; required?: false; }; enable: PropType | { type: PropType; default?: any; required?: false; }; handleStyle: PropType | { type: PropType; default?: any; required?: false; }; handleClass: PropType | { type: PropType; default?: any; required?: false; }; handleWrapperStyle: PropType | { type: PropType; default?: any; required?: false; }; handleWrapperClass: PropType | { type: PropType; default?: any; required?: false; }; handleNode: PropType | { type: PropType; default?: any; required?: false; }; onResizeStart: PropType | { type: PropType; default?: any; required?: false; }; onChange: PropType | { type: PropType; default?: any; required?: false; }; onResizeEnd: PropType | { type: PropType; default?: any; required?: false; }; defaultSize: PropType | { type: PropType; default?: any; required?: false; }; scale: PropType | { type: PropType; default?: any; required?: false; }; ratio: PropType | { type: PropType; default?: any; required?: false; }; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; grid: PropType | { type: PropType; default?: any; required?: false; }; snap: PropType<{ x?: number[]; y?: number[]; }> | { type: PropType<{ x?: number[]; y?: number[]; }>; default?: any; required?: false; }; snapGap: PropType | { type: PropType; default?: any; required?: false; }; bounds: PropType | { type: PropType; default?: any; required?: false; }; boundElement: PropType | { type: PropType; default?: any; required?: false; }; boundsByDirection: PropType | { type: PropType; default?: any; required?: false; }; size: PropType | { type: PropType; default?: any; required?: false; }; minWidth: PropType | { type: PropType; default?: any; required?: false; }; minHeight: PropType | { type: PropType; default?: any; required?: false; }; maxWidth: PropType | { type: PropType; default?: any; required?: false; }; maxHeight: PropType | { type: PropType; default?: any; required?: false; }; lockAspectRatio: PropType | { type: PropType; default?: any; required?: false; }; lockAspectRatioExtraWidth: PropType | { type: PropType; default?: any; required?: false; }; lockAspectRatioExtraHeight: PropType | { type: PropType; default?: any; required?: false; }; enable: PropType | { type: PropType; default?: any; required?: false; }; handleStyle: PropType | { type: PropType; default?: any; required?: false; }; handleClass: PropType | { type: PropType; default?: any; required?: false; }; handleWrapperStyle: PropType | { type: PropType; default?: any; required?: false; }; handleWrapperClass: PropType | { type: PropType; default?: any; required?: false; }; handleNode: PropType | { type: PropType; default?: any; required?: false; }; onResizeStart: PropType | { type: PropType; default?: any; required?: false; }; onChange: PropType | { type: PropType; default?: any; required?: false; }; onResizeEnd: PropType | { type: PropType; default?: any; required?: false; }; defaultSize: PropType | { type: PropType; default?: any; required?: false; }; scale: PropType | { type: PropType; default?: any; required?: false; }; ratio: PropType | { type: PropType; default?: any; required?: false; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default Resizable;