import type { AvatarVisualDefinition } from '../types/AvatarVisualDefinition';
/**
 * Orb family labels used to keep the silhouette circle-based while still varying the rendering style.
 *
 * @private helper of `orbAvatarVisual`
 */
type OrbFamily = 'pearl' | 'nebula' | 'ember' | 'glacier';
/**
 * Deterministic orb profile used to keep the orb recognizable while still varying its motion and shape.
 *
 * @private helper of `orbAvatarVisual`
 */
type OrbMorphologyProfile = {
    family: OrbFamily;
    baseRadiusRatio: number;
    horizontalStretch: number;
    verticalStretch: number;
    wobbleAmplitude: number;
    wobbleFrequencyOne: number;
    wobbleFrequencyTwo: number;
    wobbleFrequencyThree: number;
    ringCount: number;
    sparkleCount: number;
    haloCount: number;
    coreShiftX: number;
    coreShiftY: number;
    highlightAngle: number;
    bandRotation: number;
    pulseSpeed: number;
    haloBlurRatio: number;
    sheenStrength: number;
};
/**
 * Built-in Orb avatar visual.
 *
 * @private built-in avatar visual
 */
export declare const orbAvatarVisual: AvatarVisualDefinition;
/**
 * Builds the deterministic orb profile from the seeded avatar random factory.
 *
 * @param createRandom Seeded random factory.
 * @returns Stable orb morphology profile.
 *
 * @private helper of `orbAvatarVisual`
 */
export declare function createOrbMorphologyProfile(createRandom: (salt: string) => () => number): OrbMorphologyProfile;
export {};
