import type { Vec2, Vec3 } from '../math'; import { type DisplayRange } from './sampling'; import type { VolumetricData } from './types'; export declare const volume_center: (volume: VolumetricData) => Vec3; export declare const resolve_slice_cartesian_point: (point: Vec3 | undefined, volume?: VolumetricData) => Vec3; export interface CartesianPlane { point: Vec3; normal: Vec3; up?: Vec3; } export interface PlaneSliceOptions { resolution?: number | Vec2; max_pixels?: number; fractional_bounds?: DisplayRange; } export interface SliceResult { data: Float64Array; mask: Uint8Array; width: number; height: number; min: number; max: number; point: Vec3; normal: Vec3; u_axis: Vec3; v_axis: Vec3; u_range: Vec2; v_range: Vec2; polygon: Vec2[]; } export declare function sample_plane_slice(volume: VolumetricData, plane: CartesianPlane, options?: PlaneSliceOptions): SliceResult | null; export declare function sample_hkl_slice(volume: VolumetricData, miller_indices: Vec3, distance: number, n_points?: number): SliceResult | null;