import type { Instance, SnapshotIn } from 'mobx-state-tree';
import type { Api, Option, Payload, RendererProxy, fetchOptions } from 'jamis-core';
import type { FormItemStoreProp } from '../types';
export declare const FormItemStore: import("mobx-state-tree").IModelType<{
    id: import("mobx-state-tree").ISimpleType<string>;
    path: import("mobx-state-tree").IType<string | undefined, string, string>;
    storeType: import("mobx-state-tree").ISimpleType<string>;
    disposed: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    parentId: import("mobx-state-tree").IType<string | undefined, string, string>;
    childrenIds: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
} & {
    isFocused: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    isControlled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    type: import("mobx-state-tree").IType<string | undefined, string, string>;
    label: import("mobx-state-tree").IType<string | undefined, string, string>;
    unique: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    loading: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    required: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    isValueSchemaExp: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
    readOnly: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    disabled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    tmpValue: import("mobx-state-tree").IType<any, any, any>;
    emitedValue: import("mobx-state-tree").IType<any, any, any>;
    rules: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
    messages: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
    errorData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
        msg: import("mobx-state-tree").IType<string | undefined, string, string>;
        tag: import("mobx-state-tree").IType<string | undefined, string, string>;
        rule: import("mobx-state-tree").IType<string | undefined, string, string>;
    }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>;
    name: import("mobx-state-tree").ISimpleType<string>;
    extraName: import("mobx-state-tree").IType<string | undefined, string, string>;
    itemId: import("mobx-state-tree").IType<string | undefined, string, string>;
    unsetValueOnInvisible: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    itemsRef: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
    validated: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    validating: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    multiple: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    delimiter: import("mobx-state-tree").IType<string | undefined, string, string>;
    valueField: import("mobx-state-tree").IType<string | undefined, string, string>;
    labelField: import("mobx-state-tree").IType<string | undefined, string, string>;
    joinValues: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    extractValue: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    options: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>;
    expressionsInOptions: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    selectFirst: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    autoFill: import("mobx-state-tree").IType<any, any, any>;
    clearValueOnHidden: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    validateApi: any;
    selectedOptions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
    filteredOptions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
    dialogSchema: import("mobx-state-tree").IType<any, any, any>;
    dialogOpen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    dialogData: import("mobx-state-tree").IType<any, any, any>;
    resetValue: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
    validateOnChange: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    validatable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    inputGroupControl: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
    colIndex: import("mobx-state-tree").IType<any, any, any>;
    rowIndex: import("mobx-state-tree").IType<any, any, any>;
    rendererProxy: import("mobx-state-tree").IType<RendererProxy, RendererProxy, RendererProxy>;
}, {
    readonly parentStore: any;
    readonly __: any;
    readonly hasChildren: boolean;
    readonly children: any[];
    readonly isAlive: boolean;
} & {
    onChildStoreDispose(child: any): void;
    syncProps(props: any, prevProps: any, list?: Array<string>): void;
    syncProp(key: string, propValue: any, prevPropValue: any): void;
    dispose: (callback?: () => void) => void;
    addChildId: (id: string) => void;
    removeChildId: (id: string) => void;
} & {
    readonly subFormItems: any;
    readonly form: any;
    readonly value: any;
    readonly prinstine: any;
    readonly errors: string[];
    readonly valid: boolean;
    readonly errClassNames: string;
    readonly lastSelectValue: string;
    getSelectedOptions: (value?: any, nodeValueArray?: any[] | undefined, prevSelectOptions?: Option[]) => Option[];
} & {
    focus: () => void;
    blur: () => void;
    config: (params: Partial<FormItemStoreProp>) => void;
    validate: (data: Object, hook?: any, customRules?: {
        [propName: string]: any;
    }) => Promise<boolean>;
    setError: (msg: string | Array<string>, tag?: string) => void;
    addError: (msg: string | Array<string | {
        msg: string;
        rule: string;
    }>, tag?: string) => void;
    clearError: (tag?: string) => void;
    setOptions: (from: string, options: Array<object>, onChange?: (value: any) => void, data?: Object) => void;
    loadOptions: (api: Api, data?: object, config?: fetchOptions & {
        extendsOptions?: boolean;
    }, clearValue?: boolean, onChange?: (value: any) => void, setErrorFlag?: boolean) => Promise<Payload | null>;
    deferLoadOptions: (option: any, api: Api, data?: object, config?: fetchOptions) => Promise<Payload | null>;
    deferLoadLeftOptions: (option: any, leftOptions: any, api: Api, data?: object, config?: fetchOptions) => Promise<Payload | null>;
    expandTreeOptions: (nodePathArr: any[], api: Api, data?: object, config?: fetchOptions) => Promise<Payload | null | void>;
    syncOptions: (originOptions?: Array<any>, data?: Object) => void;
    setLoading: (value: boolean) => void;
    setSubStore: (store: any) => void;
    getSubStore: () => any;
    reset: (keepErrors?: boolean) => void;
    resetValidationStatus: () => void;
    openDialog: (schema: any, ctx: any, callback?: (ret?: any) => void) => void;
    closeDialog: (result?: any) => void;
    changeEmitedValue: (value: any) => void;
    addSubFormItem: (item: IFormItemStore) => void;
    removeSubFormItem: (item: IFormItemStore) => void;
    loadAutoUpdateData: (api: Api, data?: object, silent?: boolean) => Promise<Payload>;
    changeTmpValue: (value: any, stage: string) => void;
    /**
     * 修改resetValue, 在表单的'reset'类操作时会恢复到该值
     */
    changeResetValue(value: any): void;
    setIsControlled(value: any): void;
    /**
     * 更新实时组件组件的代理对象, 用于调用组件里的方法
     */
    updateRendererProxy(proxy: RendererProxy): void;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
export type IFormItemStore = Instance<typeof FormItemStore>;
export type SFormItemStore = SnapshotIn<typeof FormItemStore>;
