import type { BrillouinZoneData } from '../brillouin'; import { type ShowControlsProp } from '../controls'; import Spinner from '../feedback/Spinner.svelte'; import type { FileLoadCallback } from '../io'; import type { Crystal } from '../structure'; import type { ComponentProps, Snippet } from 'svelte'; import type { HTMLAttributes } from 'svelte/elements'; import type { BandGridJson, FermiSurfaceJson } from './parse'; import type { BandGridData, FermiErrorData, FermiFileLoadData, FermiHoverData, FermiSurfaceData, FermiSurfaceSettings, FermiTooltipConfig } from './types'; type FermiSurfaceControlName = `filename` | `fullscreen` | `controls`; type FermiFullscreenData = { fermi_data?: FermiSurfaceData; bz_data?: BrillouinZoneData; fullscreen?: boolean; }; type $$ComponentProps = Partial & { fermi_data?: FermiSurfaceData | FermiSurfaceJson; band_data?: BandGridData | BandGridJson; structure?: Crystal; bz_data?: BrillouinZoneData; controls_open?: boolean; custom_property_label?: string; selected_bands?: number[]; show_controls?: ShowControlsProp; fullscreen?: boolean; width?: number; height?: number; wrapper?: HTMLDivElement; hovered?: boolean; dragover?: boolean; allow_file_drop?: boolean; fullscreen_toggle?: boolean; data_url?: string; spinner_props?: ComponentProps; loading?: boolean; error_msg?: string; children?: Snippet<[{ fermi_data?: FermiSurfaceData; bz_data?: BrillouinZoneData; }]>; on_file_drop?: FileLoadCallback; on_file_load?: (data: FermiFileLoadData) => void; on_error?: (data: FermiErrorData) => void; on_fullscreen_change?: (data: FermiFullscreenData) => void; tooltip_config?: Snippet<[{ hover_data: FermiHoverData; }]> | FermiTooltipConfig; on_point_hover?: (data: FermiHoverData | null) => void; } & HTMLAttributes; declare const FermiSurface: import("svelte").Component<$$ComponentProps, {}, "height" | "width" | "camera_projection" | "surface_opacity" | "show_vectors" | "mu" | "color_property" | "color_scale" | "representation" | "show_bz" | "bz_opacity" | "tile_bz" | "clip_enabled" | "clip_axis" | "clip_position" | "clip_flip" | "interpolation_factor" | "fullscreen" | "dragover" | "controls_open" | "loading" | "wrapper" | "hovered" | "error_msg" | "fermi_data" | "band_data" | "bz_data" | "selected_bands">; type FermiSurface = ReturnType; export default FermiSurface;