import { ViewType } from '@oinone/kunlun-meta';
import { Constructor } from '@oinone/kunlun-shared';
import { SPIOptions, SPISingleSelector, SPITokenFactory } from '@oinone/kunlun-spi';
import { ActiveRecordsWidgetProps, InnerWidgetType } from '@oinone/kunlun-vue-widget';
import { BaseRuntimePropertiesWidget } from '../common';
/**
 * Element组件注册可选项
 */
export interface BaseElementOptions extends SPIOptions {
    /**
     * 指定视图类型
     */
    viewType?: ViewType | ViewType[];
    /**
     * 指定组件名称或别称
     */
    widget?: string | string[];
    /**
     * 指定是否内敛组件
     */
    inline?: boolean;
    /**
     * 指定模型
     */
    model?: string | string[];
    /**
     * 指定视图名称
     */
    viewName?: string | string[];
}
export interface BaseElementWidgetProps extends ActiveRecordsWidgetProps {
    viewType?: ViewType;
}
export declare class BaseElementWidget<Props extends BaseElementWidgetProps = BaseElementWidgetProps> extends BaseRuntimePropertiesWidget<Props> {
    protected $$innerWidgetType: InnerWidgetType;
    static Token: SPITokenFactory<BaseElementOptions>;
    static Selector: SPISingleSelector<BaseElementOptions, Constructor<BaseElementWidget>>;
    protected parentViewType: ViewType | undefined;
    protected get viewType(): ViewType | undefined;
}
