export declare enum BIMDocumentTypes {
    Model = "Model",
    Document = "Document"
}
export declare enum ModelViewerTools {
    All = 0,
    BottomTool = 1,
    FloorPlan = 2,
    ObjectModelTree = 3,
    ModelViews = 4,
    Coachmarks = 5,
    CoachmarksHidden = 6,
    CoachmarkSection = 7,
    MeasurementSD = 8,
    Settings = 9,
    ContextMenu = 10,
    CoachmarksFOV = 11,
    ViewProperties = 12,
    Loading = 13
}
declare type BCFCamera = {
    perspective_camera: {
        camera_view_point: {
            x: number;
            y: number;
            z: number;
        };
        camera_direction: {
            x: number;
            y: number;
            z: number;
        };
        camera_up_vector: {
            x: number;
            y: number;
            z: number;
        };
        field_of_view: number;
        target_distance: number;
    };
};
export interface BaseBIMViewerType {
    projectId: string;
    tools: ModelViewerTools[];
    accessToken?: string;
    baseUrl?: string;
    bfcCamera?: BCFCamera;
    enablePropertiesSearch?: boolean;
    multiselect?: boolean;
}
export interface ModelToolConfig extends BaseBIMViewerType {
    modelId: string;
    modelRevisionId: string;
    meshUrl: string;
    meshnodeUrl: string;
    nodeUrl: string;
    cellUrl: string;
}
export interface DocumentToolConfig extends BaseBIMViewerType {
    fileExtractionId: string;
}
export declare type ModelViewerConfig = ModelToolConfig | DocumentToolConfig;
export declare type BIMViewerParams = ModelViewerConfig & {
    parentElement: HTMLElement;
    locale: string;
};
export declare type BIMDocumentConfig<Type extends keyof typeof BIMDocumentTypes> = Type extends BIMDocumentTypes.Model ? ModelToolConfig : DocumentToolConfig;
export {};
