import { type BasePointRecord, type PointTextureLayout, type GpuPointLayerShaderConfig, type PackedPointTexture } from '../types.js';
export declare const DEFAULT_POINT_SHADER_CONFIG: GpuPointLayerShaderConfig;
export declare const resolveShaderConfig: (raw?: Partial<GpuPointLayerShaderConfig>) => GpuPointLayerShaderConfig;
export declare const isFiniteNumber: (value: unknown) => value is number;
export declare const computePointTextureLayout: (capacity: number) => PointTextureLayout;
/**
 * Reuse a single float texture and grow it only when the requested capacity increases.
 */
export declare const packPointsIntoFloatTexture: <TRecord extends BasePointRecord>(points: readonly TRecord[], previousData: Float32Array | undefined, previousLayout: PointTextureLayout | undefined, writePoint: (out: Float32Array, point: TRecord, valueOffset: number) => void) => PackedPointTexture;
/**
 * Tests and callers can use this helper for fast broad-hemisphere filtering.
 */
export declare const isPointInVisibleHemisphere: (point: BasePointRecord, cameraDirection: Cesium.Cartesian3, scratchDirection?: Cesium.Cartesian3, scratchCartesian?: Cesium.Cartesian3) => boolean;
export declare const filterPointsForVisibleHemisphere: <TPoint extends BasePointRecord>(points: readonly TPoint[], cameraDirection: Cesium.Cartesian3) => TPoint[];
export declare const normalizeTextureName: (textureName: string) => string;
