import { ReactElement } from 'react';
import { default as AnnotationTool } from './models/AnnotationTool';
import { default as Annotation } from './Annotation/logic/Annotation';
import { AllowedTools, AnnotationSettings, ExternalAnnotation, Label, PolygonOperationResult, SIANotification, TimeTravelChanges, UiConfig } from './types';
type SiaProps = {
    additionalButtons?: ReactElement;
    allowedTools?: AllowedTools;
    polygonOperationResult?: PolygonOperationResult;
    annotationSettings?: AnnotationSettings;
    defaultAnnotationTool?: AnnotationTool;
    defaultLabelId?: number;
    image?: string;
    isLoading?: boolean;
    isPolygonSelectionMode?: boolean;
    initialAnnotations?: ExternalAnnotation[];
    initialImageLabelIds?: number[];
    initialIsImageJunk?: boolean;
    possibleLabels: Label[];
    uiConfig?: UiConfig;
    onAnnoCreated?: (createdAnno: Annotation, allAnnos: Annotation[]) => void;
    onAnnoCreationFinished?: (createdAnno: Annotation) => void;
    onAnnoChanged?: (changedAnno: Annotation) => void;
    onAnnoDeleted?: (deletedAnno: Annotation, allAnnos?: Annotation[]) => void;
    onImageLabelsChanged?: (selectedImageIds: number[]) => void;
    onIsImageJunk?: (isJunk: boolean) => void;
    onNotification?: (notification: SIANotification) => void;
    onSelectAnnotation?: (annotation: Annotation) => void;
    onTimeTravel?: (timeTravelAction: TimeTravelChanges) => void;
};
/**
 * Main SIA component
 */
declare const Sia: ({ additionalButtons, allowedTools: propAllowedTools, polygonOperationResult, annotationSettings: propAnnotationSettings, uiConfig: propUiConfig, defaultAnnotationTool, defaultLabelId, image, isLoading, isPolygonSelectionMode, initialAnnotations, initialImageLabelIds, initialIsImageJunk, possibleLabels, onAnnoCreated, onAnnoCreationFinished, onAnnoChanged, onAnnoDeleted, onImageLabelsChanged, onIsImageJunk, onNotification, onSelectAnnotation, onTimeTravel, }: SiaProps) => import("react/jsx-runtime").JSX.Element;
export default Sia;
