import { RuntimeO2MField } from '@oinone/kunlun-engine';
import { CallChaining } from '@oinone/kunlun-shared';
import { FormFieldWidget } from '../../../basic';
import { IPermission } from '../type';
interface ITreeNode {
    title: string;
    key: string;
    children: ITreeNode[];
    isLeaf: boolean;
    parentValue?: string;
}
declare enum NodeType {
    MENU = "MENU",
    MODULE = "MODULE",
    SERVER_ACTION = "SERVER_ACTION",
    VIEW_ACTION = "VIEW_ACTION",
    URL_ACTION = "URL_ACTION"
}
interface IActionPermission {
    value: string;
    node: ITreeNode;
    module: string;
    nodeType: NodeType;
    hasNext: boolean;
    model: string;
    resModel?: string;
    displayValue: string;
    canAccess: boolean;
    change: boolean;
}
interface Menu {
    name: string;
    module: string;
}
export declare class ActionPermissionWidget extends FormFieldWidget<unknown, RuntimeO2MField> {
    get class(): string;
    initialize(props: any): this;
    /**
     * 挂载时
     * @protected
     */
    protected mountedCallChaining: CallChaining | undefined;
    private get checkable();
    private selectable;
    get disabled(): boolean;
    private treeData;
    private permissions;
    private checkedKeys;
    private queryNextNode;
    private resolvePermissions;
    fetchData(): Promise<void>;
    private onCheck;
    private customCheck;
    private loadData;
    private queryAllMenus;
    submit(): Promise<{
        menus: Menu[];
        modules: IActionPermission[];
        actionPermissions: IPermission[];
    }>;
    protected mountedProcess(): Promise<void>;
    protected mounted(): void;
    protected unmounted(): void;
}
export {};
