import { ComponentConfig } from 'ngx-puzzle/core';
import * as i0 from "@angular/core";
/**
 * 向其他模块暴露BI功能的外部服务
 */
export declare class NgxPuzzleExternalService {
    private registry;
    private sessionService;
    private injector;
    private mediator;
    /**
     * 获取所有当前组件配置
     * @returns 组件配置数组
     */
    getAllConfigs(): ComponentConfig[];
    /**
     * 使用给定配置初始化组件
     * @param configs 组件配置数组或单个组件配置
     */
    initializeComponent(configs: ComponentConfig[] | ComponentConfig): void;
    /**
     * 创建单个组件
     * @param config 组件配置
     * @private
     */
    private createComponent;
    /**
     * 生成预览ID并存储当前组件配置
     * @param ttl 可选的生存时间（毫秒）
     * @returns 包含生成的预览ID的Promise
     */
    generatePreviewId(ttl?: number): Promise<string>;
    /**
     * 通过预览ID获取组件配置
     * @param previewId 预览ID
     * @returns 包含组件配置的Promise，如果未找到则为null
     */
    getConfigsByPreviewId(previewId: string): Promise<ComponentConfig[] | null>;
    /**
     * 通过清除注册表、注入器和中介者状态来重置所有组件
     * 此方法可用于将BI编辑器初始化为干净状态
     */
    resetAllComponents(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxPuzzleExternalService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgxPuzzleExternalService>;
}
