import { NativeElement } from '@nonoun/native-core'; export type GripperMode = 'resize-horizontal' | 'resize-vertical' | 'resize-corner'; export type GripperPlacement = 'start' | 'end' | 'top' | 'bottom' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end'; /** * Declarative gripper handle that escapes overflow via Popover API * and positions itself via CSS Anchor Positioning. Delegates resize * logic to ResizeController. * * @attr {string} mode - Grip mode: resize-horizontal, resize-vertical, resize-corner * @attr {string} for - ID of the target element to manipulate * @attr {string} placement - Where to place relative to target: start, end, top, bottom, top-start, etc. * @attr {number} min - Minimum value (px) for resize (both axes fallback) * @attr {number} max - Maximum value (px) for resize (both axes fallback) * @attr {number} min-width - Minimum width (px) for corner mode. Falls back to `min`. * @attr {number} max-width - Maximum width (px) for corner mode. Falls back to `max`. * @attr {number} min-height - Minimum height (px) for corner mode. Falls back to `min`. * @attr {number} max-height - Maximum height (px) for corner mode. Falls back to `max`. * @attr {number} step - Snap-to-grid increment (px) * @attr {boolean} reverse - Reverse drag direction * @attr {boolean} disabled - Disable interaction */ export declare class NGripper extends NativeElement { #private; static observedAttributes: string[]; setup(): void; teardown(): void; attributeChangedCallback(name: string, old: string | null, val: string | null): void; } //# sourceMappingURL=gripper-element.d.ts.map