import type { Image } from 'react-native-nitro-image'; import type { HybridObject } from 'react-native-nitro-modules'; import type { Depth } from '../instances/Depth.nitro'; import type { Frame } from '../instances/Frame.nitro'; /** * The {@linkcode FrameConverter} can convert {@linkcode Frame}s * and {@linkcode Depth} to {@linkcode Image}s, and back. */ export interface FrameConverter extends HybridObject<{ ios: 'swift'; android: 'kotlin'; }> { /** * Converts the given {@linkcode Frame} to an {@linkcode Image}. * This performs a CPU copy. * * @throws If the Frame is invalid ({@linkcode Frame.isValid}). */ convertFrameToImage(frame: Frame): Image; /** * Asynchronously converts this {@linkcode Frame} to an * {@linkcode Image}. * This performs a CPU copy. * * @throws If the Frame is invalid ({@linkcode Frame.isValid}). */ convertFrameToImageAsync(frame: Frame): Promise; /** * Converts the {@linkcode Depth} frame to an {@linkcode Image}. * * The resulting {@linkcode Image} will be a grey-scale RGB image, * where black pixels are far away, and white pixels are close by. */ convertDepthToImage(depth: Depth): Image; convertDepthToImageAsync(depth: Depth): Promise; }