import React from "react";
export interface GesturePoint {
    x: number;
    y: number;
    timestamp: number;
    pressure?: number;
    id: string;
}
export interface GestureStroke {
    points: GesturePoint[];
    startTime: number;
    endTime: number;
    velocity: number;
    direction: number;
    distance: number;
    id: string;
}
export interface RecognizedGesture {
    type: string;
    confidence: number;
    data: any;
    timestamp: number;
    stroke: GestureStroke;
    id: string;
}
export interface GestureTemplate {
    name: string;
    type: string;
    points: Array<{
        x: number;
        y: number;
    }>;
    threshold: number;
}
export interface GlassGestureZoneProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
    /** Zone width */
    width?: number;
    /** Zone height */
    height?: number;
    /** Whether gesture recognition is active */
    active?: boolean;
    /** Gesture recognition sensitivity */
    sensitivity?: number;
    /** Maximum gesture duration */
    maxGestureDuration?: number;
    /** Minimum points for gesture */
    minGesturePoints?: number;
    /** Whether to show gesture trail */
    showTrail?: boolean;
    /** Trail color */
    trailColor?: string;
    /** Trail fade duration */
    trailFadeDuration?: number;
    /** Whether to show gesture feedback */
    showFeedback?: boolean;
    /** Feedback duration */
    feedbackDuration?: number;
    /** Custom gesture templates */
    gestureTemplates?: GestureTemplate[];
    /** Whether to enable multi-touch */
    multiTouch?: boolean;
    /** Maximum simultaneous touches */
    maxTouches?: number;
    /** Gesture recognition timeout */
    recognitionTimeout?: number;
    /** Whether to show debug info */
    debug?: boolean;
    /** Gesture start handler */
    onGestureStart?: (point: GesturePoint) => void;
    /** Gesture move handler */
    onGestureMove?: (point: GesturePoint, stroke: GestureStroke) => void;
    /** Gesture end handler */
    onGestureEnd?: (stroke: GestureStroke) => void;
    /** Gesture recognition handler */
    onGestureRecognized?: (gesture: RecognizedGesture) => void;
    /** Multi-touch handler */
    onMultiTouch?: (points: GesturePoint[]) => void;
    /** Show controls */
    showControls?: boolean;
    /** Respect user's motion preferences */
    respectMotionPreference?: boolean;
}
export declare const GlassGestureZone: React.ForwardRefExoticComponent<GlassGestureZoneProps & React.RefAttributes<HTMLDivElement>>;
export default GlassGestureZone;
//# sourceMappingURL=GlassGestureZone.d.ts.map