import { ReactiveElement, ReactiveController } from 'lit';
export declare type Touch = ReactiveElement;
/**
 * @internal Provides all nessesary events for basic touch gestures
 *
 * @event cdsTouchStart
 * @event cdsTouchMove
 * @event cdsTouchEnd
 */
export declare function touch<T extends Touch>(): ClassDecorator;
export declare class TouchController<T extends Touch> implements ReactiveController {
    private host;
    constructor(host: T);
    private startPosition;
    private moveHandler;
    private endHandler;
    hostConnected(): Promise<void>;
    private start;
    private end;
    private move;
    private getCoordinates;
}
