import { GamepadButtonName } from './gamepad';
import { TypedEventEmitter } from './typedEventEmitter';
export interface GamepadStick {
    label: string;
    xAxis: number;
    yAxis: number;
}
export declare const gamepadSticks: {
    [id in 'left' | 'right']: GamepadStick;
};
type WhichGamepad = 'all' | 0 | 1 | 2 | 3;
export declare class GamepadsStore extends TypedEventEmitter<{
    firstConnected: (arg0: Gamepad) => void;
    lastDisconnected: () => void;
    /** Emits only after queried */
    nowPrefersGamepad: () => void;
}> {
    static getConnectedGamepads(): Gamepad[];
    static queryButton(whichGamepad: WhichGamepad, button: number | GamepadButtonName): boolean;
    static queryStick(stick: keyof typeof gamepadSticks | GamepadStick, gamepad: Gamepad): {
        x: number;
        z: number;
    };
    private connectedGamepads;
    constructor();
    dispose(): void;
    gamepadEvent: ({ gamepad, type, ...rest }: GamepadEvent) => void;
}
export {};
