import type { AvatarPalette } from '../types/AvatarVisualDefinition';
import { type Point3D, type ProjectedPoint } from './avatar3dProjectionShared';
/**
 * Eye-style knobs shared by the proper-3D octopus visuals.
 *
 * @private helper of the 3D octopus avatar visuals
 */
export type OctopusProjectedEyeStyle = {
    readonly irisScale: number;
    readonly pupilWidthScale: number;
    readonly pupilHeightScale: number;
    readonly upperLidArchRatio: number;
    readonly upperLidInsetRatio: number;
    readonly lowerLidOpacity: number;
};
/**
 * Draws one projected eye on a rotated octopus surface.
 *
 * @private helper of the 3D octopus avatar visuals
 */
export declare function drawProjectedOrganicEye(context: CanvasRenderingContext2D, localCenter: Point3D, radiusX: number, radiusY: number, center: Point3D, rotationX: number, rotationY: number, sceneCenterX: number, sceneCenterY: number, size: number, palette: AvatarPalette, timeMs: number, phase: number, interaction: {
    readonly gazeX: number;
    readonly gazeY: number;
    readonly intensity: number;
}, eyeStyle: OctopusProjectedEyeStyle): void;
/**
 * Draws a subtle projected mouth arc across the front of a rotated octopus surface.
 *
 * @private helper of the 3D octopus avatar visuals
 */
export declare function drawProjectedOrganicMouth(context: CanvasRenderingContext2D, localPoints: readonly [Point3D, Point3D, Point3D], center: Point3D, rotationX: number, rotationY: number, sceneCenterX: number, sceneCenterY: number, palette: AvatarPalette, size: number): void;
/**
 * Draws one filled projected quad.
 *
 * @private helper of the 3D octopus avatar visuals
 */
export declare function drawProjectedQuad(context: CanvasRenderingContext2D, corners: readonly [ProjectedPoint, ProjectedPoint, ProjectedPoint, ProjectedPoint], fillStyle: string): void;
