import { Api, fetchOptions, Action } from '../types';
export declare const CRUDStore: import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
    id: import("mobx-state-tree").ISimpleType<string>;
    path: string;
    storeType: import("mobx-state-tree").ISimpleType<string>;
    hasRemoteData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>>;
    data: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
    updatedAt: number;
    pristine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
    parentId: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>>;
    action: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
    dialogOpen: false;
    dialogData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
    drawerOpen: false;
    drawerData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
}> & import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
    msg: string;
    error: false;
    fetching: false;
    saving: false;
    busying: false;
    checking: false;
    initializing: false;
    schema: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
    schemaKey: string;
}> & import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
    pristineQuery: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
    query: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
    prevPage: number;
    page: number;
    perPage: number;
    total: number;
    mode: string;
    hasNext: false;
    selectedAction: import("mobx-state-tree").IType<any, any, any>;
    items: import("mobx-state-tree").IOptionalIComplexType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<any, any, any>>>;
    selectedItems: import("mobx-state-tree").IOptionalIComplexType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<any, any, any>>>;
    unSelectedItems: import("mobx-state-tree").IOptionalIComplexType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<any, any, any>>>;
    filterTogggable: false;
    filterVisible: true;
    hasInnerModalOpen: false;
}>, {
    readonly parentStore: import("mobx-state-tree").ModelInstanceType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
        id: import("mobx-state-tree").ISimpleType<string>;
        path: string;
        storeType: import("mobx-state-tree").ISimpleType<string>;
        hasRemoteData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>>;
        data: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
        updatedAt: number;
        pristine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
        parentId: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>>;
        action: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
        dialogOpen: false;
        dialogData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
        drawerOpen: false;
        drawerData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>>;
    }>, any & {
        initData(data?: object): void;
        reset(): void;
        updateData(data?: object, tag?: object | undefined): void;
        setCurrentAction(action: object): void;
        openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void;
        closeDialog(result?: any): void;
        openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void;
        closeDrawer(result?: any): void;
    }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized> | null;
} & {
    initData(data?: object): void;
    reset(): void;
    updateData(data?: object, tag?: object | undefined): void;
    setCurrentAction(action: object): void;
    openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void;
    closeDialog(result?: any): void;
    openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void;
    closeDrawer(result?: any): void;
} & {
    readonly loading: boolean;
} & {
    markFetching: (fetching?: boolean) => void;
    markSaving: (saving?: boolean) => void;
    markBusying: (busying?: boolean) => void;
    fetchInitData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
    fetchData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
    reInitData: (data: object | undefined) => void;
    updateMessage: (msg?: string | undefined, error?: boolean) => void;
    clearMessage: () => void;
    saveRemote: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
    fetchSchema: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
    checkRemote: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
} & {
    readonly lastPage: number;
    readonly filterData: object;
    readonly mergedData: any;
    readonly hasModalOpened: boolean;
    readonly selectedItemsAsArray: any[];
} & {
    setPristineQuery: () => void;
    updateQuery: (values: object, updater?: Function | undefined, pageField?: string, perPageField?: string, replace?: boolean) => void;
    fetchInitData: (api: Api, data?: object | undefined, options?: (fetchOptions & {
        forceReload?: boolean | undefined;
        loadDataOnce?: boolean | undefined;
        source?: string | undefined;
        loadDataMode?: boolean | undefined;
        syncResponse2Query?: boolean | undefined;
    }) | undefined) => Promise<any>;
    changePage: (page: number, perPage?: number | undefined) => void;
    selectAction: (action: Action) => void;
    saveRemote: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
    setFilterTogglable: (toggable: boolean, filterVisible?: boolean | undefined) => void;
    setFilterVisible: (visible: boolean) => void;
    setSelectedItems: (items: any[]) => void;
    setUnSelectedItems: (items: any[]) => void;
    setInnerModalOpened: (value: boolean) => void;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
export declare type ICRUDStore = typeof CRUDStore.Type;
