import { IScratchSensorState } from './index'; import { Component } from 'react'; export interface IScratchSensorProps { bond?: boolean | string; children?: React.ReactElement | ((state: IScratchSensorStateWithBond) => React.ReactElement); render?: (state: IScratchSensorStateWithBond) => React.ReactElement; disabled?: boolean; onScratch?: (state: IScratchSensorState) => void; onScratchStart?: (state: IScratchSensorState) => void; onScratchEnd?: (state: IScratchSensorState) => void; } export interface IScratchSensorState { isScratching?: boolean; start?: number; end?: number; x?: number; y?: number; dx?: number; dy?: number; docX?: number; docY?: number; posX?: number; posY?: number; elH?: number; elW?: number; elX?: number; elY?: number; } export interface IScratchSensorBond { ref?: any; onMouseDown?: any; onTouchStart?: any; } export interface IScratchSensorStateWithBond extends IScratchSensorState { [bond: string]: any; bond?: IScratchSensorBond; } export declare class ScratchSensor extends Component { static defaultProps: { disabled: boolean; onScratch: (...args: any[]) => any; onScratchStart: (...args: any[]) => any; onScratchEnd: (...args: any[]) => any; }; state: IScratchSensorState; el: HTMLElement; frame: any; ref: (originalRef?: any) => (el: any) => void; componentWillUnmount(): void; onMouseDown: (originalMouseDown?: any) => (event: any) => void; onTouchStart: (originalTouchStart?: any) => (event: any) => void; startScratching(docX: any, docY: any): void; stopScratching: () => void; bindEvents(): void; unbindEvents(): void; onMouseMove: (event: any) => void; onTouchMove: (event: any) => void; onMouseUp: () => void; onTouchEnd: () => void; onMoveEvent: (docX: any, docY: any) => void; render(): any; } export declare const withScratch: any;