/** * Deterministic visual parameter derivation from Ed25519 public keys. * * Each agent's 32-byte public key is decoded and its raw bytes are used * to seed every visual parameter — ring count, hues, stroke widths, * rotation speeds, sinusoidal deformations, pulse rate, and glow intensity. * The result is a unique, reproducible visual fingerprint per agent. */ export interface IdentityRing { /** HSL hue (0–360) */ hue: number; /** HSL saturation (0–100) */ saturation: number; /** HSL lightness (0–100) */ lightness: number; /** Stroke width in viewBox units */ strokeWidth: number; /** Full-rotation period in seconds */ rotationDuration: number; /** Rotation direction */ rotationDirection: 'cw' | 'ccw'; /** Sinusoidal radial displacement amplitude */ deformAmplitude: number; /** Number of sinusoidal lobes (2–7) */ deformFrequency: number; /** Phase offset in radians (0–2π) */ deformPhase: number; /** Normalised distance from centre (0–1) */ radiusFraction: number; } export interface IdentityParams { rings: IdentityRing[]; /** Breathing pulse period in seconds */ pulseRate: number; /** Overall glow strength (0–1) */ glowIntensity: number; /** Core hue (complementary to ring hue) */ coreHue: number; coreSaturation: number; coreLightness: number; /** Short hex prefix for scoping SVG filter IDs */ idPrefix: string; /** Visibility-safe hex accent color derived from the key's base hue */ accentHex: string; } export declare function deriveIdentityParams(publicKey: string): IdentityParams; /** * Build an SVG `d` attribute for a closed ring whose radius is * perturbed by `amplitude * sin(frequency * θ + phase)`. */ export declare function generateDeformedRingPath(cx: number, cy: number, radius: number, amplitude: number, frequency: number, phase: number, segments?: number): string; export declare function identityColor(h: number, s: number, l: number, a?: number): string; export interface FingerprintColor { /** Raw hex from fingerprint chars, e.g. "#A1B2C3" */ raw: string; /** Visibility-adjusted hex, e.g. "#8BA2B8" */ hex: string; /** HSL tuple after clamping [h, s, l] */ hsl: [number, number, number]; } /** * Derive a unique, visibility-safe hex color from a fingerprint string. * * Takes the first 6 hex characters (after stripping dashes), converts to * HSL, clamps saturation to [30, 100] and lightness to [35, 65], then * converts back. */ export declare function deriveFingerprintColor(fingerprint: string): FingerprintColor; //# sourceMappingURL=agent-identity-params.d.ts.map