/** * @module modifiers/aspectRatio * * @description * This modifier forces elements to be resized with a specified dx/dy ratio. * * ```js * interact(target).resizable({ * modifiers: [ * interact.modifiers.snapSize({ * targets: [ interact.snappers.grid({ x: 20, y: 20 }) ], * }), * interact.aspectRatio({ ratio: 'preserve' }), * ], * }); * ``` */ import type { Point, Rect, EdgeOptions } from '@interactjs/core/types'; import { Modification } from './Modification'; import type { Modifier, ModifierModule, ModifierState } from './types'; export interface AspectRatioOptions { ratio?: number | 'preserve'; equalDelta?: boolean; modifiers?: Modifier[]; enabled?: boolean; } export type AspectRatioState = ModifierState; declare const aspectRatio: ModifierModule; declare const _default: { (_options?: Partial): Modifier; _defaults: AspectRatioOptions; _methods: { start: (arg: import("./types").ModifierArg) => void; set: (arg: import("./types").ModifierArg) => unknown; beforeEnd: (arg: import("./types").ModifierArg) => void | Point; stop: (arg: import("./types").ModifierArg) => void; }; }; export default _default; export { aspectRatio };