import { PermissionInputSettings, RolePermissionSetting, GuidValue, PermissionBinding } from "../../models";
import { IValidator } from "../validation";
export interface IPermissionInputAttributes {
    disabled?: boolean;
    dark?: boolean;
    hideSaveButton?: boolean;
}
export interface IPermissionInput extends IPermissionInputAttributes {
    [name: string]: any;
    settings: PermissionInputSettings;
    contextParams?: {
        [key: string]: string | number;
    };
    serviceId?: GuidValue;
    dataSource?: {
        [roleId: string]: Array<PermissionBinding>;
    };
    onValueUpdated?: (rolePermissionSetting: Array<RolePermissionSetting>) => Promise<void>;
    onValueUpdating?: () => Promise<void>;
    useValidator?: IValidator;
}
declare global {
    namespace VueTsxSupport.JSX {
        interface Element {
        }
        interface ElementClass {
        }
        interface ElementAttributesProperty {
        }
        interface IntrinsicElements {
            "omfx-permission-input": IPermissionInput;
        }
    }
}
