import { HIDProvider } from "./hid_provider";
/** Known DualSense body colors */
export declare enum DualsenseColor {
    Unknown = "Unknown",
    White = "White",
    MidnightBlack = "Midnight Black",
    CosmicRed = "Cosmic Red",
    NovaPink = "Nova Pink",
    GalacticPurple = "Galactic Purple",
    StarlightBlue = "Starlight Blue",
    GreyCamouflage = "Grey Camouflage",
    VolcanicRed = "Volcanic Red",
    SterlingSilver = "Sterling Silver",
    CobaltBlue = "Cobalt Blue",
    ChromaTeal = "Chroma Teal",
    ChromaIndigo = "Chroma Indigo",
    ChromaPearl = "Chroma Pearl",
    Anniversary30th = "30th Anniversary",
    GodOfWarRagnarok = "God of War Ragnarok",
    SpiderMan2 = "Spider-Man 2",
    AstroBot = "Astro Bot",
    Fortnite = "Fortnite",
    TheLastOfUs = "The Last of Us",
    IconBlueLimitedEdition = "Icon Blue Limited Edition",
    GenshinImpact = "Genshin Impact"
}
/** Known DualSense body colors, keyed by the 2-char code from the serial number */
export declare const DualsenseColorMap: Record<string, DualsenseColor>;
/** Factory information derived from the controller's serial number */
export interface FactoryInfo {
    /** Raw serial number string */
    serialNumber: string;
    /** Controller body color name (e.g. "Cosmic Red") */
    colorName: string;
    /** Raw 2-character color code from the serial number */
    colorCode: string;
    /** Board revision (e.g. "BDM-030") */
    boardRevision: string;
}
/** Default FactoryInfo used when the test command protocol is unavailable */
export declare const DefaultFactoryInfo: FactoryInfo;
/**
 * Read factory info (serial number, body color, board revision) from a connected controller.
 *
 * Requires firmware support: hardwareInfo >= 777 and mainFirmwareVersion >= 65655.
 * Use the values from FirmwareInfo (Feature Report 0x20) to check this gate.
 *
 * @param provider The HID provider for the connected controller
 * @param hardwareInfo Hardware info word from FirmwareInfo
 * @param mainFwVersionRaw Raw uint32 main firmware version from FirmwareInfo
 */
export declare function readFactoryInfo(provider: HIDProvider, hardwareInfo: number, mainFwVersionRaw: number): Promise<FactoryInfo | undefined>;
//# sourceMappingURL=factory_info.d.ts.map