interface FrontmostAppInfo { bundleId: string appName: string } export class ComputerUseInputAPI { declare moveMouse: ( x: number, y: number, animated: boolean, ) => Promise declare key: ( key: string, action: 'press' | 'release', ) => Promise declare keys: (parts: string[]) => Promise declare mouseLocation: () => Promise<{ x: number; y: number }> declare mouseButton: ( button: 'left' | 'right' | 'middle', action: 'click' | 'press' | 'release', count?: number, ) => Promise declare mouseScroll: ( amount: number, direction: 'vertical' | 'horizontal', ) => Promise declare typeText: (text: string) => Promise declare getFrontmostAppInfo: () => FrontmostAppInfo | null declare isSupported: true } interface ComputerUseInputUnsupported { isSupported: false } export type ComputerUseInput = ComputerUseInputAPI | ComputerUseInputUnsupported