import * as nodeCanvas from 'canvas'; import { Color, PartSegmentation, PersonSegmentation } from './types'; import { SemanticPartSegmentation, SemanticPersonSegmentation } from './types'; declare type ImageType = nodeCanvas.Image | nodeCanvas.Canvas; export declare function toMask(personOrPartSegmentation: SemanticPersonSegmentation | SemanticPartSegmentation | PersonSegmentation[] | PartSegmentation[], foreground?: Color, background?: Color, drawContour?: boolean, foregroundIds?: number[]): ImageData; export declare function toColoredPartMask(partSegmentation: SemanticPartSegmentation | PartSegmentation[], partColors?: Array<[number, number, number]>): ImageData; export declare function drawMask(canvas: nodeCanvas.Canvas, image: nodeCanvas.Image | HTMLImageElement, maskImage: ImageData | null, maskOpacity?: number, maskBlurAmount?: number, flipHorizontal?: boolean): void; export declare function drawPixelatedMask(canvas: nodeCanvas.Canvas, image: ImageType, maskImage: ImageData, maskOpacity?: number, maskBlurAmount?: number, flipHorizontal?: boolean, pixelCellWidth?: number): void; export declare function drawBokehEffect(canvas: nodeCanvas.Canvas, image: ImageType, multiPersonSegmentation: SemanticPersonSegmentation | PersonSegmentation[], backgroundBlurAmount?: number, edgeBlurAmount?: number, flipHorizontal?: boolean): void; export declare function drawVirtualBGEffect(canvas: nodeCanvas.Canvas, image: ImageType, bg: ImageType, multiPersonSegmentation: SemanticPersonSegmentation | PersonSegmentation[], backgroundBlurAmount?: number, edgeBlurAmount?: number, flipHorizontal?: boolean, returnMask?: boolean): nodeCanvas.Canvas | void; export declare function blurBodyPart(canvas: nodeCanvas.Canvas, image: ImageType, partSegmentation: SemanticPartSegmentation | PartSegmentation[], bodyPartIdsToBlur?: number[], backgroundBlurAmount?: number, edgeBlurAmount?: number, flipHorizontal?: boolean): void; export {};