export interface TriggerMouseOptions {
    clicks?: number;
    click?: number;
    which?: number;
    modifier?: KeyStrokeModifier;
    position?: {
        top: number;
        left: number;
    };
}
export type KeyStrokeModifier = 'alt' | 'ctrl' | 'shift' | 'meta' | 'ctrl-shift' | 'ctrl-alt' | 'ctrl-alt-shift';
export declare const JQueryTesting: {
    triggerBlur($elem: JQuery): void;
    triggerRightClick($elem: JQuery): void;
    triggerKeyUp($elem: JQuery, key: number, modifier: KeyStrokeModifier): void;
    triggerKeyDown($elem: JQuery, key: number, modifier?: KeyStrokeModifier): void;
    extendEventWithModifier<T extends {
        altKey: boolean;
        ctrlKey: boolean;
        shiftKey: boolean;
        metaKey: boolean;
    }>(event: T, modifier?: KeyStrokeModifier): T;
    triggerMouseEnter($elem: JQuery, opts?: TriggerMouseOptions): void;
    triggerMouseLeave($elem: JQuery, opts?: TriggerMouseOptions): void;
    triggerMouseDown($elem: JQuery, opts?: TriggerMouseOptions): void;
    /**
     * Does not use jQuery to create the event to make sure capture phase listeners are notified as well.
     */
    triggerMouseDownCapture($elem: JQuery): void;
    triggerKeyDownCapture($elem: JQuery, which: number, modifier?: KeyStrokeModifier): void;
    triggerKeyUpCapture($elem: JQuery, which: number, modifier?: KeyStrokeModifier): void;
    /**
     * Triggers key down and key up events.
     */
    triggerKeyInputCapture($elem: JQuery, which: number, modifier?: KeyStrokeModifier): void;
    triggerKeyCapture($elem: JQuery, eventType: string, which: number, modifier?: KeyStrokeModifier): void;
    triggerMouseUp($elem: JQuery, opts?: TriggerMouseOptions): void;
    triggerMouseAction($elem: JQuery, eventType: string, opts: TriggerMouseOptions): void;
    triggerContextMenu($elem: JQuery): void;
    /**
     * Triggers mouse down, mouse up and click events. <br>
     * Also sets the detail property of the originalEvent which contains the numbers of clicks.
     * @param opts options object passed to triggerMouse* functions
     */
    triggerClick($elem: JQuery, opts?: TriggerMouseOptions): void;
    triggerDoubleClick($elem: JQuery): void;
    triggerImageLoadCapture($elem: JQuery): void;
    whenAnimationEnd($elem: JQuery): JQuery.Promise<Document>;
};
//# sourceMappingURL=jquery-testing.d.ts.map