import { SvelteComponentTyped } from 'svelte'
import type { Charts, ChartConfig, BaseChartOptions, ChartTabularData } from '@carbon/charts'
declare class __sveltets_Render<T extends BaseChartOptions> {
	props(): {
		[x: string]: any
		data?: ChartTabularData | undefined
		options?: T | undefined
		Chart: new (holder: HTMLDivElement, chartConfigs: ChartConfig<T>) => Charts
		chart: Charts | undefined
		ref: HTMLDivElement | undefined
		id?: string | undefined
	}
	events(): {
		load: CustomEvent<null>
		update: CustomEvent<{
			data: ChartTabularData
			options: T
		}>
		destroy: CustomEvent<null>
	} & {
		[evt: string]: CustomEvent<any>
	}
	slots(): {}
}
export type BaseChartProps<T extends BaseChartOptions> = ReturnType<__sveltets_Render<T>['props']>
export type BaseChartEvents<T extends BaseChartOptions> = ReturnType<__sveltets_Render<T>['events']>
export type BaseChartSlots<T extends BaseChartOptions> = ReturnType<__sveltets_Render<T>['slots']>
export default class BaseChart<T extends BaseChartOptions> extends SvelteComponentTyped<
	BaseChartProps<T>,
	BaseChartEvents<T>,
	BaseChartSlots<T>
> {}
export {}
