import { DraggableEvents, ResizableEvents, ScalableEvents, RotatableEvents, DraggableOptions, ResizableOptions, ScalableOptions, RotatableOptions, WarpableOptions, WarpableEvents, GroupableOptions, SnappableEvents, SnappableOptions, RenderableEvents, ClickableEvents, RoundableEvents, RoundableOptions, ClippableOptions, ClippableEvents, OriginDraggableEvents, DefaultOptions, DragAreaOptions, PinchableOptions, PinchableEvents, ScrollableEvents, ScrollableOptions, OriginOptions, PaddingOptions, OriginDraggableOptions, MoveableOptions, BeforeRenderableEvents, ClickableOptions, MoveableEvents, MoveableDefaultEvents, } from "../src"; import Draggable from "../src/ables/Draggable"; import Resizable from "../src/ables/Resizable"; import Scalable from "../src/ables/Scalable"; import Rotatable from "../src/ables/Rotatable"; import Warpable from "../src/ables/Warpable"; import Groupable from "../src/ables/Groupable"; import Snappable from "../src/ables/Snappable"; import Default from "../src/ables/Default"; import DragArea from "../src/ables/DragArea"; import Roundable from "../src/ables/Roundable"; import Clippable from "../src/ables/Clippable"; import OriginDraggable from "../src/ables/OriginDraggable"; import Pinchable from "../src/ables/Pinchable"; import Scrollable from "../src/ables/Scrollable"; import Origin from "../src/ables/Origin"; import Padding from "../src/ables/Padding"; import Renderable from "../src/ables/Renderable"; import BeforeRenderable from "../src/ables/BeforeRenderable"; import Clickable from "../src/ables/Clickable"; type MatchTypes< T extends { [key in keyof Required]: any }, E extends { [key in keyof Required]: any }, > = any; type Writable = { -readonly [key in keyof T]: any }; type PropsTester = MoveableOptions> = { -readonly [key in Able["props"][number]]: Props[key]; }; type EventsTester = MoveableEvents> = { -readonly [key in Able["events"][number] as `on${Capitalize}`]: Events[key]; }; interface EmptyOptions { } export type TestProps = [ MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, ]; export type TestProps2 = [ MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, MatchTypes, Required>, ];