import { type AxisModuleDefinition, type AxisPluginModuleDefinition, type ChartModuleDefinition, type ModuleDefinition, ModuleType, type ModuleTypeSwitch, type PluginModuleDefinition, type PresetModuleDefinition, type SeriesModuleDefinition, type SeriesPluginModuleDefinition } from './moduleDefinition';
export declare enum RegistryMode {
    Enterprise = "enterprise",
    Integrated = "integrated",
    UMD = "umd"
}
export declare function register(def: ModuleDefinition | ChartModuleDefinition<any> | AxisModuleDefinition<any> | SeriesModuleDefinition<any> | PresetModuleDefinition<any> | PluginModuleDefinition<any> | AxisPluginModuleDefinition<any> | SeriesPluginModuleDefinition<any>): void;
export declare function registerModules(definitions: Array<ModuleDefinition | ModuleDefinition[]>): void;
export declare function reset(): void;
export declare function hasModule(moduleName: string): boolean;
export declare function listModules(): Generator<ModuleDefinition>;
export declare function listModulesByType<T extends ModuleType>(moduleType: T): Generator<ModuleTypeSwitch<T>>;
export declare function getAxisModule(moduleName: string): AxisModuleDefinition<any> | undefined;
export declare function getChartModule(moduleName: string): ChartModuleDefinition<any>;
export declare function getPresetModule(moduleName: string): PresetModuleDefinition<any> | undefined;
export declare function getSeriesModule(moduleName: string): SeriesModuleDefinition<any> | undefined;
export declare function setRegistryMode(registryFlag: RegistryMode): void;
export declare function isEnterprise(): boolean;
export declare function isIntegrated(): boolean;
export declare function isUmd(): boolean;
export declare function isModuleType<T extends ModuleType>(moduleType: T, definition: ModuleDefinition | undefined): definition is ModuleTypeSwitch<T>;
