/**
* Methods for creating tray, dock, and application icons.
*
* @experimental
* @public
* @packageDocumentation
*/
///
import type { AddRepresentationOptions, BitmapOptions, nativeImage, Rectangle, ResizeOptions, ToBitmapOptions, ToDataURLOptions, ToPNGOptions } from "@todesktop/client-electron-types";
import { type Ref } from "./invoke.js";
/**
* Creates a new `NativeImage` instance from dataURL.
* @public
*/
export declare function createFromDataURL(...args: Parameters): Promise;
/**
* Creates a new `NativeImage` instance from path.
* @public
*/
export declare function createThumbnailFromPath(...args: Parameters): Promise;
/**
* Creates a new `NativeImage` instance from path.
* @public
*/
export declare function createFromPath(...args: Parameters): Promise;
/**
* Creates a new `NativeImage` instance from a bitmap buffer.
* @public
*/
export declare function createFromBitmap(...args: Parameters): Promise;
/**
* Creates a new `NativeImage` instance from a buffer.
* @public
*/
export declare function createFromBuffer(...args: Parameters): Promise;
/**
* Creates a new `NativeImage` instance from an NS image that maps to an image name.
* @public
*/
export declare function createFromNamedImage(...args: Parameters): Promise;
/**
* Creates a new `NativeImage`.
* @public
*/
export declare function createEmpty(...args: Parameters): Promise;
/**
* returns a Buffer that contains the image's PNG encoded data.
*
* @param options - ref: Reference for the NativeImage; scaleFactor: number between 0 and 1.0.
* @public
*/
export declare function toPNG({ ref, ...rest }: {
ref: Ref;
} & ToPNGOptions): Promise;
/**
* returns a Buffer that contains the image's JPEG encoded data.
*
* @param options - ref: Reference for the NativeImage; quality: number between 0 and 100.
* @public
*/
export declare function toJPEG({ ref, quality }: {
ref: Ref;
quality: number;
}): Promise;
/**
* returns a Buffer that contains a copy of the image's raw bitmap pixel data.
*
* @param options - ref: Reference for the NativeImage; scaleFactor: number between 0 and 1.0.
* @public
*/
export declare function toBitmap({ ref, ...rest }: {
ref: Ref;
} & ToBitmapOptions): Promise;
/**
* returns the data URL of the image.
*
* @param options - ref: Reference for the NativeImage; scaleFactor: number between 0 and 1.0.
* @public
*/
export declare function toDataURL({ ref, ...rest }: {
ref: Ref;
} & ToDataURLOptions): Promise;
/**
* returns a Buffer that contains the image's raw bitmap pixel data.
*
* @param options - ref: Reference for the NativeImage; scaleFactor: number between 0 and 1.0.
* @public
*/
export declare function getBitmap({ ref, ...rest }: {
ref: Ref;
} & BitmapOptions): Promise;
/**
* returns a Buffer that stores C pointer to underlying native handle of the image.
*
* @param options - ref: Reference for the NativeImage.
* @public
*/
export declare function getNativeHandle({ ref }: {
ref: Ref;
}): Promise;
/**
* returns whether the image is empty.
*
* @param options - ref: Reference for the NativeImage.
* @public
*/
export declare function isEmpty({ ref }: {
ref: Ref;
}): Promise;
/**
* returns the size of the image.
*
* @param options - ref: Reference for the NativeImage; scaleFactor: number between 0 and 1.0.
* @public
*/
export declare function getSize({ ref, scaleFactor, }: {
ref: Ref;
scaleFactor?: number;
} & BitmapOptions): Promise;
/**
* Marks the image as a template image.
*
* @param options - ref: Reference for the NativeImage; value: boolean;
* @public
*/
export declare function setTemplateImage({ ref, value, }: {
ref: Ref;
value: boolean;
}): Promise;
/**
* Returns whether the image is a template image.
*
* @param options - ref: Reference for the NativeImage; value: boolean;
* @public
*/
export declare function isTemplateImage({ ref }: {
ref: Ref;
}): Promise;
/**
* Returns the cropped image.
*
* @param options - ref: Reference for the NativeImage; height: number; width: number; x: number; y: number;
* @public
*/
export declare function crop({ ref, ...rest }: {
ref: Ref;
} & Rectangle): Promise;
/**
* Returns a resized image.
*
* @param options - ref: Reference for the NativeImage; width: number height: number; quality: number.
* @public
*/
export declare function resize({ ref, ...rest }: {
ref: Ref;
} & ResizeOptions): Promise;
/**
* Returns a resized image.
*
* @param options - ref: Reference for the NativeImage; scaleFactor: number between 0 and 1.0.
* @public
*/
export declare function getAspectRatio({ ref, scaleFactor, }: {
ref: Ref;
scaleFactor?: number;
}): Promise;
/**
* Returns an array of all scale factors corresponding to representations for a given nativeImage.
*
* @param options - ref: Reference for the NativeImage.
* @public
*/
export declare function getScaleFactors({ ref }: {
ref: Ref;
}): Promise;
/**
* Add an image representation for a specific scale factor. This can be used to explicitly add different scale factor representations to an image.
*
* @param options - ref: Reference for the NativeImage; height: number; width: number; scale: number; buffer: Buffer; dataURL: string;
* @public
*/
export declare function addRepresentation({ ref, ...rest }: {
ref: Ref;
} & AddRepresentationOptions): Promise;