import { SubmitValue } from '@oinone/kunlun-engine';
import { IModelField, ModelFieldType } from '@oinone/kunlun-meta';
import { ExpressionDefinitionType, IExpressionDefinition, IExpressionItem, IExpressionOption, IExpressionQuoteType, IQueryExpressionParam, IVariableContextItem, IVariableCustomMethodContext, IVariableValueType } from '@oinone/kunlun-vue-expression';
import { FormFieldWidget } from '../../../../basic';
export declare class ExpressionAbstractWidget extends FormFieldWidget {
    protected type: ExpressionDefinitionType;
    protected sourceCode: string;
    protected hasChangeSourceCode: boolean;
    protected isFrontend: boolean;
    initialize(props: any): this;
    protected expressionItemList: IExpressionItem[];
    protected get valueList(): IExpressionItem[];
    protected set valueList(expressionItems: IExpressionItem[]);
    getExpressionItemList(): IExpressionItem[];
    setExpressionItemList(expressionItemList?: IExpressionItem[]): void;
    protected get changeVariableOnSelect(): boolean;
    protected get isLowCode(): unknown;
    protected get title(): unknown;
    protected get expDisplayNameField(): any;
    protected get expItemsField(): any;
    protected get expDefinitionField(): any;
    protected onChangeList(newList: IExpressionItem[]): void;
    protected onChangeSourceCode(value: string | IExpressionItem[]): void;
    customOnChangeList(newList: IExpressionItem[]): void;
    protected get expressionOption(): IExpressionOption;
    protected createExpressionOption(): IExpressionOption;
    protected get modelModel(): string;
    protected get ttypes(): ModelFieldType[];
    protected get leftJoinTtype(): ModelFieldType;
    protected get leftJoinField(): IModelField;
    protected get showVariableType(): boolean;
    protected get isFieldStore(): boolean | undefined;
    protected get showFooter(): boolean;
    /**
     * 字符串包裹引号的类型
     * @protected
     */
    protected get quoteType(): IExpressionQuoteType;
    protected get contextItems(): IVariableContextItem[];
    protected get isSimpleMode(): boolean;
    protected get models(): string[];
    filterMethod(field: IModelField): boolean;
    variableCustomMethod(variableStr: string, type?: IVariableValueType, variableCustomMethodContext?: IVariableCustomMethodContext): string;
    numberCustomMethod(numStr: string | number, ttype: ModelFieldType): string | number;
    submit(submitValue: SubmitValue): Promise<import("@oinone/kunlun-engine").SubmitRelationValue | Record<string, unknown> | undefined>;
    customSubmit(queryExpressionParam?: IQueryExpressionParam): Promise<void>;
    watchId(): Promise<void>;
    initExpressionItemList(): Promise<IExpressionItem[]>;
    initData(): Promise<IExpressionItem[]>;
    get queryExpressionParam(): IQueryExpressionParam;
    protected queryExpression(): Promise<IExpressionDefinition>;
}
