import type { CanvasGeometry, DragMode, ImgCropperResult } from './img-cropper-worker.svelte'; import type { CropperCanvas, CropperImage, CropperSelection } from 'cropperjs'; export type { CanvasGeometry }; export type CropperMode = 'contain' | 'cover'; export type { DragMode }; export type ImgCropperRatioOption = { label: string; value: number | null; }; export type ImgCropperDynamicAspectRatio = { initial: number; supported: number[]; allowFreeCrop?: false; } | { initial?: number; supported: number[]; allowFreeCrop: true; }; export type { ImgCropperResult }; export type ImgCropperSaveResult = ImgCropperResult; export type ImgCropperOptions = { mode: CropperMode; aspectRatio?: number | ImgCropperDynamicAspectRatio; fillColor?: string; showImageShadow?: boolean; }; export declare class ImgCropper { loading: boolean; ready: boolean; fillColor: string; readonly mode: CropperMode; readonly ratioOptions: ImgCropperRatioOption[] | null; readonly showImageShadow: boolean; private _worker; private _originalSrc; private _defaultGeometry; constructor(options: ImgCropperOptions); get showFillColor(): boolean; get isTransparentFill(): boolean; get canvasGeometry(): CanvasGeometry; get aspectRatio(): number | null; get cropBoxVisible(): boolean; get dragMode(): DragMode; init: (params: { src: string; cropperImage: CropperImage; cropperSelection: CropperSelection; cropperCanvas: CropperCanvas; selectHandle: HTMLElement | null; }) => Promise; destroy: () => void; rotate: () => Promise; zoomIn: () => void; zoomOut: () => void; reset: () => Promise; changeAspectRatio: (ratio: number | null) => Promise; crop: () => Promise; save: () => Promise; clearSelection: () => void; enableCropMode: () => void; enableMoveMode: () => void; refit: () => void; }