// Type definitions for webos/deviceinfo

type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;

/**
 * Callback signature for  `deviceinfo`
 */
export interface deviceCallback {
  (
    /**
     * JSON object containing the device information details
     */
    info: object,
  ): void;
}
/**
 * Gets the device-specific information regarding model, OS version, specifications, etc.
 */
export function deviceinfo(callback: deviceCallback): void;

export default deviceinfo;
