import { IAdminPermission, IRole, IUserPermission } from '@awhere/interfaces';
import { IFindOptions } from '../IdentityMixin';
import PrototypeBase from '../PrototypeBase';
import { Watcher } from '../Watcher';
declare class Role extends PrototypeBase implements IRole {
    static generateId(): string;
    static watch(): Promise<Watcher>;
    private static basePath;
    static fromId(id: string): Promise<Role>;
    static find(findOptions?: string | IFindOptions): Promise<import("axios").AxiosResponse<any, any>>;
    static create(data: undefined | string | IRole): Promise<import("axios").AxiosResponse<any, any>>;
    static update(id: string, data: IRole): Promise<import("axios").AxiosResponse<any, any>>;
    static delete(id: string): Promise<import("axios").AxiosResponse<any, any>>;
    static restore(id: string): Promise<import("axios").AxiosResponse<any, any>>;
    save(): Promise<any>;
    delete(): Promise<any>;
    restore(): Promise<any>;
    private _name;
    get name(): string;
    set name(value: string);
    protected _administration: IAdminPermission;
    get administration(): IAdminPermission;
    set administration(value: IAdminPermission);
    protected _permission: IUserPermission;
    get permission(): IUserPermission;
    set permission(value: IUserPermission);
    protected _deletable?: IRole['deletable'];
    get deletable(): IRole['deletable'];
    set deletable(value: IRole['deletable']);
    constructor(props?: IRole);
}
export default Role;
