import { ReactNode } from 'react'; type ExtractArgs = T[keyof T] extends (...args: infer A) => any ? A : any[]; type EventState> = T & { (key?: keyof T, fun?: T[keyof T]): EventState; (target?: Partial): EventState; }; interface ResizeState { observer: ResizeObserver | null; listener(): void; mount(el: El): void; clean(el: null): void; resize(self: ResizeState): void; ref(target: El): void; } type ResizeArg = Partial> | ResizeState['resize']; declare const useResize: (arg: ResizeArg) => EventState>; interface ResizeProps extends Partial> { children: (state: ResizeState) => ReactNode; } declare const Resize: (props: ResizeProps) => ReactNode; export { Resize, type ResizeProps, useResize as default, useResize };