import { ComponentSpecRaw, NodeSchema } from 'vitis-lowcode-types';
import { FieldConfig } from '../types';
export default class ComponentSpec {
    configure: FieldConfig[];
    rawData: ComponentSpecRaw;
    extraProps: NodeSchema['extraProps'];
    constructor(componentSpecRaw: ComponentSpecRaw);
    get parentWhitelist(): string[];
    get childWhitelist(): string[];
    get componentName(): string;
    get unableDel(): boolean;
    get unableCopy(): boolean;
    get unableMove(): boolean;
    get title(): string;
    private get hasDataSource();
    private get hasLinkage();
    private get isFormControl();
    private get hasHiddenRule();
    private get type();
    /**
     * 这个是初始 schema
     */
    get schema(): NodeSchema | NodeSchema[];
    private parseRawData;
    private initExtraProps;
    private genConfigure;
    private getPropsConfig;
    private getLinkageConfig;
    private getVerifyConfig;
    isCanInclude(componentSpec: ComponentSpec): boolean;
}
