import type { ActionReturn } from 'svelte/action';
export type ResizeHandleParams<Element extends HTMLElement = HTMLElement> = {
    threshold?: number;
    onresize?: (params: {
        side: ResizeSide;
        node: Element;
        event: PointerEvent;
        height: number;
        width: number;
    }) => void;
    onresizeend?: () => void;
    sides?: {
        top?: boolean;
        left?: boolean;
        bottom?: boolean;
        right?: boolean;
        all?: boolean;
    } | undefined;
};
export type ResizeSide = 'n' | 'w' | 's' | 'e' | 'ne' | 'se' | 'nw' | 'sw';
export declare function resizable<N extends HTMLElement = HTMLElement>(node: N, params?: ResizeHandleParams<N>): ActionReturn<ResizeHandleParams<N>>;
