interface ChartConstructorCapability{new(item:HTMLCanvasElement,configuration:unknown):object;register(...items:unknown[]):void;}
/** The Chart.js module capabilities Lyra uses, kept structural so optional peers do not leak. */
export interface ChartJsModule{Chart:ChartConstructorCapability;defaults:{plugins?:{legend?:{labels?:{generateLabels?:(chart:object)=>unknown[];};};};};LineController:unknown;BarController:unknown;ScatterController:unknown;DoughnutController:unknown;PieController:unknown;RadarController:unknown;PolarAreaController:unknown;BubbleController:unknown;LineElement:unknown;PointElement:unknown;BarElement:unknown;ArcElement:unknown;LinearScale:unknown;CategoryScale:unknown;RadialLinearScale:unknown;LogarithmicScale:unknown;Filler:unknown;Tooltip:unknown;Legend:unknown;}
/**
* Independently loads and validates Chart.js core for both core-only and feature-enabled charts.
*/
export declare function loadChartModule(importChart?:()=>Promise):Promise;
/** Loads and registers the validated Chart.js core, failing closed for either phase. The
* registration dependency is injectable solely so the rejection path can be exercised without
* perturbing the page-global registration cache. */
export declare function loadAndRegisterChartModule(importChart?:()=>Promise,register?:(mod:ChartJsModule)=>void):Promise;
/** Lazily loads the optional `chart.js` peer once per page and registers Lyra's core subset. */
export declare function loadChartJs():Promise;export{};