import { DeviceValueReader, InputState, MouseValueReaderDefinition } from "../../../interfaces/input.d.ts"; /** * Types of mouse input sources */ export type MouseSourceType = 'button' | 'position' | 'wheel'; /** * Reads values from mouse input states */ export declare class MouseValueReader implements DeviceValueReader { /** * Which category of mouse input: button press, cursor position, or scroll wheel. */ readonly sourceType: MouseSourceType; /** * Identifies the input within the source type (e.g. "button-0", "absolute:x", "deltaY") */ readonly sourceKey: string; /** * Creates a new MouseValueReader * * @param sourceType * @param sourceKey - e.g. "button-0", "absolute:x", "deltaY" */ constructor(sourceType: MouseSourceType, sourceKey: string); /** * Gets the value of the mouse input source. Returns undefined for non-mouse input states. * * @param state */ getValue(state: InputState): boolean | number | undefined; /** * Creates a MouseValueReader from a colon-delimited string (e.g. "button:0", "position:absolute:x") * * @param sourceTypeString */ static fromString(sourceTypeString: string): MouseValueReader; /** * Returns a JSON-serializable representation of this mouse value reader. */ toJSON(): MouseValueReaderDefinition; }