import Framework7, { Framework7Plugin } from '../../components/app/app-class.js'; export namespace Touch { interface AppMethods { touchEvents: { start: string; move: string; end: string; }; } interface AppParams { /** Object with touch-module related parameters */ touch?: | { /** Distance threshold (in px) to prevent short swipes. So if tap/move distance is larger than this value then "click" will not be triggered. (default 5) */ touchClicksDistanceThreshold?: number; /** . (default true) */ disableContextMenu?: boolean; /** Enables tap hold. (default false) */ tapHold?: boolean; /** Determines how long (in ms) the user must hold their tap before the taphold event is fired on the target element. (default 750) */ tapHoldDelay?: number; /** When enabled (by default), then click event will not be fired after tap hold event. (default true) */ tapHoldPreventClicks?: boolean; /** When enabled, app will add "active-state" class to currently touched (:active) element.. (default true) */ activeState?: boolean; /** CSS selector of elements where enabled activeState will add appropriate active class. (default a, button, label, span, .actions-button, .stepper-button, .stepper-button-plus, .stepper-button-minus, .card-expandable, .link, .item-link) */ activeStateElements?: string; /** Enables MD-theme specific touch ripple effect. (default true) */ mdTouchRipple?: boolean; /** Enables iOS-theme specific touch ripple effect. (default false) */ iosTouchRipple?: boolean; /** CSS selector of elements to apply touch ripple effect on click. (default .ripple, .link, .item-link, .list-button, .links-list a, .button, button, .input-clear-button, .dialog-button, .tab-link, .item-radio, .item-checkbox, .actions-button, .searchbar-disable-button, .fab a, .checkbox, .radio, .data-table .sortable-cell:not(.input-cell), .notification-close-button, .stepper-button, .stepper-button-minus, .stepper-button-plus) */ touchRippleElements?: string; /** CSS selector of elements to with inset touch ripple effect. (default .ripple-inset, .icon-only, .searchbar-disable-button, .input-clear-button, .notification-close-button, .md .navbar .link.back) */ touchRippleInsetElements?: string; } | undefined; } interface AppEvents { /** Event will be fired on app click */ click: (event: Event) => void; /** Event will be fired on touch start (mousedown) event added as active listener (possible to prevent default) */ 'touchstart:active': (event: Event) => void; /** Event will be fired on touch move (mousemove) event added as active listener (possible to prevent default) */ 'touchmove:active': (event: Event) => void; /** Event will be fired on touch end (mouseup) event added as active listener (possible to prevent default) */ 'touchend:active': (event: Event) => void; /** Event will be fired on touch start (mousedown) event added as passive listener (impossible to prevent default) */ 'touchstart:passive': (event: Event) => void; /** Event will be fired on touch move (mousemove) event added as passive listener (impossible to prevent default) */ 'touchmove:passive': (event: Event) => void; /** Event will be fired on touch end (mouseup) event added as passive listener (impossible to prevent default) */ 'touchend:passive': (event: Event) => void; } } declare const TouchModule: Framework7Plugin; export default TouchModule;