import { DslDefinition } from '@oinone/kunlun-dsl';
import { ActiveRecord, ActiveRecords, RuntimeContext, RuntimeRelationField, RuntimeView } from '@oinone/kunlun-engine';
import { ViewType } from '@oinone/kunlun-meta';
import { ReturnPromise } from '@oinone/kunlun-shared';
import { IFormSubviewFieldWidget } from '../../../types';
import { MetadataViewWidget } from '../../../view';
import { FormComplexFieldProps, FormComplexFieldWidget } from '../FormComplexFieldWidget';
export declare abstract class FormSubviewFieldWidget<Value extends ActiveRecords = ActiveRecords, Field extends RuntimeRelationField = RuntimeRelationField, Props extends FormComplexFieldProps<Field> = FormComplexFieldProps<Field>> extends FormComplexFieldWidget<Value, Field, Props> implements IFormSubviewFieldWidget<Value, Field> {
    protected metadataSubviewWidget: MetadataViewWidget;
    protected runtimeSubviewContext: RuntimeContext;
    protected defaultSubviewType: ViewType;
    protected get currentParentViewActiveRecords(): ActiveRecord[] | undefined;
    protected currentViewDsl: DslDefinition | undefined;
    protected get subviewType(): ViewType;
    protected get subviewModel(): string;
    protected get subviewModelName(): string | undefined;
    protected get subviewModule(): string | undefined;
    protected get subviewModuleName(): string | undefined;
    protected get formData(): ActiveRecord;
    initialize(props: Props): this;
    protected createMetadataSubviewWidget(props: Props): MetadataViewWidget;
    protected initSubview(props: Props): ReturnPromise<void>;
    protected generatorRuntimeSubview(props: Props): ReturnPromise<RuntimeView>;
    protected getViewLayout(props: Props): ReturnPromise<DslDefinition | undefined>;
    protected getViewDsl(props: Props): ReturnPromise<DslDefinition | undefined>;
    protected getViewTemplate(props: Props): ReturnPromise<DslDefinition | undefined>;
    protected initSubviewAfterProperties(props: Props): void;
    protected findViewDslNode(dsl: DslDefinition): DslDefinition | undefined;
    protected initRuntimeContext(metadataSubviewWidget: MetadataViewWidget, view: RuntimeView): RuntimeContext;
}
