import * as ort from "onnxruntime-common"; import { BaseImageModel } from "./base.js"; import { SegmentationResult } from "./segmentationModel.js"; export interface Point { x: number; y: number; positive: boolean; } export type SAMResult = SegmentationResult & { topLeft: Point; bottomRight: Point; }; export type SegmentAnythingPrompt = { image: string | ArrayBuffer | undefined; points: Point[] | undefined; boxes: Point[][] | undefined; }; export declare class SegmentAnythingModel extends BaseImageModel { encoderResult: ort.Tensor | undefined; originalWidth: number | undefined; originalHeight: number | undefined; newWidth: number | undefined; newHeight: number | undefined; process: (input: SegmentAnythingPrompt) => Promise; processEncoder: (input: string | ArrayBuffer) => Promise; processDecoder: (points: Point[] | undefined, boxes: Point[][] | undefined) => Promise; createCanvas: (width: number, height: number) => OffscreenCanvas | HTMLCanvasElement; }