export type ControllerProfile = 'xbox' | 'playstation' | 'switch' | 'generic'; interface ProfileDefinition { displayName: string; /** Button names indexed by Standard Gamepad button index (0–16). */ buttons: string[]; /** Axes names indexed by Standard Gamepad axis index (0–5). Prefix `-` to invert. */ axes: string[]; } /** * All profiles share the same physical Standard Gamepad layout; only the names differ. * * Standard Gamepad button layout: * 0 = bottom face (A / Cross / B) * 1 = right face (B / Circle / A) * 2 = left face (X / Square / Y) * 3 = top face (Y / Triangle / X) * 4 = left shoulder (LB / L1 / L) * 5 = right shoulder(RB / R1 / R) * 6 = left trigger (LT / L2 / ZL) * 7 = right trigger (RT / R2 / ZR) * 8 = back/select (Select / Share / Minus) * 9 = start/menu (Start / Options / Plus) * 10 = left stick click (LS / L3) * 11 = right stick click (RS / R3) * 12 = D-Pad Up * 13 = D-Pad Down * 14 = D-Pad Left * 15 = D-Pad Right * 16 = home/guide (Xbox / PS / Home) */ export declare const ControllerProfiles: Record; /** * Translates a sequence of button names from one profile's naming convention to another. * Used so Konami / combo sequences defined with Xbox names work correctly on any profile. * * ```ts * translateSequence(['A', 'B'], 'xbox', 'playstation') // → ['Cross', 'Circle'] * ``` */ export declare function translateSequence(sequence: string[], from: ControllerProfile, to: ControllerProfile): string[]; /** * Returns a map from Xbox button names to the equivalent names in the given profile. * Useful for rendering correct button labels in UI: * * ```tsx * const { buttonLabels } = useGamepads({ controllerProfile: 'playstation' }); *

Press {buttonLabels.A} to confirm

// → "Press Cross to confirm" * ``` */ export declare function getButtonLabels(profile: ControllerProfile): Record; export {};