/// import type { Configuration } from './core/items/configuration'; import type { MonitorInfo } from './core/items/monitorInfo'; declare type Unpromisify any> = (...args: Parameters) => ReturnType extends PromiseLike ? U : ReturnType; declare type UnpromisifyWindowsSS = Unpromisify; export declare class WindowsSS { constructor(); } export interface WindowsSS { /** * Captures a screenshot of the monitor matching the device index. * @param deviceIndex Index of monitor according to Windows. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `NoMatchError` * @throws `InvalidArgumentCountError` * @throws `InvalidConfigurationError` */ captureMonitorByIndex(deviceIndex: number, config?: Configuration): Promise; /** * Captures a screenshot of the monitor matching the device index. * @param deviceIndex Index of monitor according to Windows. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `NoMatchError` * @throws `InvalidArgumentCountError` * @throws `InvalidConfigurationError` */ captureMonitorByIndexSync: UnpromisifyWindowsSS<'captureMonitorByIndex'>; /** * Captures a screenshot of the monitor matching the device name. * @param deviceName Name of monitor according to Windows. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `NoMatchError` * @throws `InvalidArgumentCountError` * @throws `InvalidConfigurationError` */ captureMonitorByName(deviceName: string, config?: Configuration): Promise; /** * Captures a screenshot of the monitor matching the device name. * @param deviceName Name of monitor according to Windows. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `NoMatchError` * @throws `InvalidArgumentCountError` * @throws `InvalidConfigurationError` */ captureMonitorByNameSync: UnpromisifyWindowsSS<'captureMonitorByName'>; /** * Captures a screenshot of the primary monitor. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `InvalidConfigurationError` */ capturePrimaryMonitor(config: Configuration): Promise; /** * Captures a screenshot of the primary monitor. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `InvalidConfigurationError` */ capturePrimaryMonitorSync: UnpromisifyWindowsSS<'capturePrimaryMonitor'>; /** * Captures a screenshot of the window matching the title. * @param title Title of window. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `InvalidConfigurationError` */ captureWindowByTitle(title: string, config?: Configuration): Promise; /** * Captures a screenshot of the window matching the title. * @param title Title of window. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `InvalidConfigurationError` */ captureWindowByTitleSync: UnpromisifyWindowsSS<'captureWindowByTitle'>; /** * Captures a screenshot of the currently active/focused window. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `InvalidConfigurationError` */ captureActiveWindow(config?: Configuration): Promise; /** * Captures a screenshot of the currently active/focused window. * @param config Additional options for capturing the screenshot. * @returns The binary image data of the screenshot, with the format specified in `options.format`. `null` is returned instead if `save` was passed into the `config` parameter. * @throws `InvalidConfigurationError` */ captureActiveWindowSync: UnpromisifyWindowsSS<'captureActiveWindow'>; /** * Returns information about the the currently connected monitors. * @returns An array of [`MonitorInfo`](#monitorinfo)s gotten from the current system. */ getMonitorInfos(): Promise; /** * Returns information about the the currently connected monitors. * @returns An array of [`MonitorInfo`](#monitorinfo)s gotten from the current system. */ getMonitorInfosSync: UnpromisifyWindowsSS<'getMonitorInfos'>; } export declare const captureMonitorByIndex: (deviceIndex: number, config?: Configuration | undefined) => Promise, captureMonitorByIndexSync: UnpromisifyWindowsSS<"captureMonitorByIndex">, captureMonitorByName: (deviceName: string, config?: Configuration | undefined) => Promise, captureMonitorByNameSync: UnpromisifyWindowsSS<"captureMonitorByName">, capturePrimaryMonitor: (config: Configuration) => Promise, capturePrimaryMonitorSync: UnpromisifyWindowsSS<"capturePrimaryMonitor">, captureWindowByTitle: (title: string, config?: Configuration | undefined) => Promise, captureWindowByTitleSync: UnpromisifyWindowsSS<"captureWindowByTitle">, captureActiveWindow: (config?: Configuration | undefined) => Promise, captureActiveWindowSync: UnpromisifyWindowsSS<"captureActiveWindow">, getMonitorInfos: () => Promise, getMonitorInfosSync: UnpromisifyWindowsSS<"getMonitorInfos">; export {};