import { PolarData, PolarMode } from '../types'; /** * Convert polar coordinates to Cartesian coordinates * * @param r - Radial values (distance from origin) * @param theta - Angular values * @param angleMode - 'degrees' or 'radians' * @returns Interleaved [x, y] vertex data */ export declare function polarToCartesian(r: Float32Array | Float64Array | number[], theta: Float32Array | Float64Array | number[], angleMode?: PolarMode): Float32Array; /** * Prepare polar data for line rendering with optional path closing * * @param data - Polar coordinate data * @param angleMode - Angular unit mode * @param closePath - Whether to connect last point to first * @returns Cartesian vertex data */ export declare function interleavePolarLineData(data: PolarData, angleMode?: PolarMode, closePath?: boolean): Float32Array; /** * Prepare polar data for filled area rendering * Creates triangles from origin to each line segment * * @param data - Polar coordinate data * @param angleMode - Angular unit mode * @param closePath - Whether to close the path * @returns Triangle vertex data for gl.TRIANGLES */ export declare function interleavePolarFillData(data: PolarData, angleMode?: PolarMode, closePath?: boolean): Float32Array; /** * Generate polar grid lines (radial and angular) * * @param maxRadius - Maximum radial value * @param radialDivisions - Number of concentric circles * @param angularDivisions - Number of radial lines (spokes) * @param angleMode - Angular unit mode * @returns Object with radial and angular grid line data */ export declare function generatePolarGrid(maxRadius: number, radialDivisions?: number, angularDivisions?: number, angleMode?: PolarMode): { radialLines: Float32Array; angularLines: Float32Array; }; /** * Calculate bounds for polar data * * @param data - Polar coordinate data * @returns Cartesian bounds {xMin, xMax, yMin, yMax} */ export declare function calculatePolarBounds(data: PolarData): { xMin: number; xMax: number; yMin: number; yMax: number; maxRadius: number; }; /** * Normalize angular values to [0, 360) degrees or [0, 2π) radians * * @param theta - Angular values * @param angleMode - Angular unit mode * @returns Normalized angles */ export declare function normalizeAngles(theta: Float32Array | Float64Array | number[], angleMode?: PolarMode): Float32Array;