import { SuiteRuntime } from '../runtime/SuiteRuntime';
import { CompleteComponentType } from '../../../core';
import { FieldManifest } from '../../../capabilities/field-manifest';
import { PanelConfigSchemaType } from '../../../capabilities/panel/config/types';
import { PanelSchema, PanelSchemaKey } from '../../../capabilities/panel/schema/types';
import { PanelResolveContext } from '../../../capabilities/panel/router/types';
import { FIELD_TYPE } from '../../../domain/field/field-type';
import { PAPER_WIDGET_TYPE } from '../../../domain/paper-widget/paper-widget-type';
import { PaperWidgetManifest } from '../../../capabilities/paper-widget-manifest';
/**
 * design 内部完整套件上下文
 */
export interface DesignSuiteContext {
    /** 套件标识 */
    suiteKey: SuiteKey;
    /** 当前套件支持的字段清单 */
    fieldManifests: FieldManifest[];
    /** 当前套件支持的组件清单 */
    paperWidgetManifests: PaperWidgetManifest[];
    /** 根据字段类型获取声明 */
    getFieldManifest(type: FIELD_TYPE): FieldManifest | undefined;
    /** 根据组件类型获取声明 */
    getPaperWidgetManifest(type: PAPER_WIDGET_TYPE): PaperWidgetManifest | undefined;
    /** 根据组件 key 获取渲染组件 */
    resolveWidgetComponent(type: CompleteComponentType): any | undefined;
    resolvePanelRouter(context: PanelResolveContext): PanelSchemaKey | null;
    resolvePanelSchema(schemaKey: PanelSchemaKey): PanelSchema | undefined;
    /** 根据右侧面板配置 schema key 获取渲染组件 */
    resolvePanelConfigComponent(type: PanelConfigSchemaType): any | undefined;
    /** 套件运行期能力 */
    runtime: SuiteRuntime;
}
export declare function provideDesignSuite(ctx: DesignSuiteContext): void;
/** 消费完整能力 */
export declare function useDesignSuiteContext(): DesignSuiteContext;
