import { StructureChooserData } from './types';
import { ColorCallback, CdnFileResolverCallback, I18NConfig, Pos } from '../types';

declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
    structureChooserData: StructureChooserData;
    cdnFileResolver: CdnFileResolverCallback;
    colorCallback?: ColorCallback;
    i18nConfig?: I18NConfig;
    customOverlayContent?: string;
    selectedId?: string;
    defaultCamera?: string;
    defaultDay?: number;
    defaultTime?: number;
    mobileBreakpoint?: number;
    version?: string;
    showVersion?: boolean;
    showUi?: boolean;
    activeStructureIds?: string[];
}>, {
    colorCallback: () => {
        r: number;
        g: number;
        b: number;
        a: number;
        s: number;
    };
    mobileBreakpoint: number;
    showVersion: boolean;
    showUi: boolean;
}>, {
    getState: () => {
        currentCameraIndex: number;
        currentDayIndex: number;
        currentTimeIndex: number;
        currentTransitionIndex: number;
        currentScene: number;
    };
    setState: ({ currentCameraIndex, currentDayIndex, currentTimeIndex, currentTransitionIndex, currentScene: scene, }: {
        currentCameraIndex: any;
        currentDayIndex: any;
        currentTimeIndex: any;
        currentTransitionIndex: any;
        currentScene: any;
    }) => void;
    resolveCoordinates: (projectedX: number, projectedY: number) => {
        x: number;
        y: number;
    };
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    onError: (error: Error) => void;
    onClick: (structureId: string, goToScene: () => void) => void;
    onHoverOver: (structureId: string) => void;
    onHoverOut: (structureId: string) => void;
    onBoundingBoxesUpdate: (boundingBoxes: {
        id: string;
        boundingBox: any;
    }[]) => void;
    onMouseMove: (mouseEvent: MouseEvent, pos?: Pos) => void;
    onInitialize: () => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
    structureChooserData: StructureChooserData;
    cdnFileResolver: CdnFileResolverCallback;
    colorCallback?: ColorCallback;
    i18nConfig?: I18NConfig;
    customOverlayContent?: string;
    selectedId?: string;
    defaultCamera?: string;
    defaultDay?: number;
    defaultTime?: number;
    mobileBreakpoint?: number;
    version?: string;
    showVersion?: boolean;
    showUi?: boolean;
    activeStructureIds?: string[];
}>, {
    colorCallback: () => {
        r: number;
        g: number;
        b: number;
        a: number;
        s: number;
    };
    mobileBreakpoint: number;
    showVersion: boolean;
    showUi: boolean;
}>>> & {
    onOnError?: (error: Error) => any;
    onOnClick?: (structureId: string, goToScene: () => void) => any;
    onOnHoverOver?: (structureId: string) => any;
    onOnHoverOut?: (structureId: string) => any;
    onOnBoundingBoxesUpdate?: (boundingBoxes: {
        id: string;
        boundingBox: any;
    }[]) => any;
    onOnMouseMove?: (mouseEvent: MouseEvent, pos?: Pos) => any;
    onOnInitialize?: () => any;
}, {
    colorCallback: ColorCallback;
    mobileBreakpoint: number;
    showVersion: boolean;
    showUi: boolean;
}, {}>, Readonly<{
    default(): any;
    popup(props: {
        hoverId: string;
        hoverable: boolean;
    }): any;
}> & {
    default(): any;
    popup(props: {
        hoverId: string;
        hoverable: boolean;
    }): any;
}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
