import { DslDefinition } from '@oinone/kunlun-dsl';
import { ModelFieldType, ViewType } from '@oinone/kunlun-meta';
import { SPIOptions } from '@oinone/kunlun-spi';
/**
 * 布局注册可选项
 */
export interface LayoutRegisterOptions extends SPIOptions {
    /**
     * 视图类型
     */
    viewType: ViewType | ViewType[];
    /**
     * 视图模型所在模块编码，一般是下划线风格的英文 designer_common
     */
    module?: string | string[];
    /**
     * 视图模型所在模块名称，一般是驼峰风格的英文 designerCommon
     */
    moduleName?: string | string[];
    /**
     * 布局名称，对应 viewActionQuery.load.resView.baseLayoutName
     */
    layoutName?: string | string[];
    /**
     * 视图的模型编码
     */
    model?: string | string[];
    /**
     * 视图的模型名称
     */
    modelName?: string | string[];
    /**
     * 视图的名称
     */
    viewName?: string | string[];
    /**
     * 是否为内嵌视图(子视图特有)，表单页内有个o2m的子表格，该表格的inline为true
     */
    inline?: boolean;
    /**
     * 模型字段类型(子视图特有)
     */
    ttype?: ModelFieldType | ModelFieldType[];
    /**
     * 关联模型字段类型(子视图特有)
     */
    relatedTtype?: ModelFieldType | ModelFieldType[];
    /**
     * 字段(子视图特有)
     */
    field?: string | string[];
    /**
     * 动作名称
     */
    actionName?: string | string[];
    /**
     * 动作使用的组件名称
     */
    actionWidget?: string | string[];
}
export declare class LayoutManager {
    private static Token;
    private static Selector;
    static register(options: LayoutRegisterOptions, template: string): boolean;
    static selector(options: LayoutRegisterOptions): DslDefinition | undefined;
}
/**
 * @deprecated please use {@link LayoutRegisterOptions}
 */
export declare type ILayoutOption = LayoutRegisterOptions;
export declare function registerLayout(layoutTpl: string, layoutOption: LayoutRegisterOptions): boolean;
export declare function generatorLayout(layoutOption: LayoutRegisterOptions): DslDefinition | undefined;
