import { RolePermissionEvaluator, RoleResourceEvaluator, UserWithPropertyBag } from "../../models";
declare class AuthorizedUsersPermissionEvaluator implements RolePermissionEvaluator {
    private user;
    constructor(user: Promise<UserWithPropertyBag>);
    evaluateRoleWithContext(context: {
        [key: string]: string | number;
    }): Promise<boolean>;
}
declare class InternalUsersPermissionEvaluator implements RolePermissionEvaluator {
    private user;
    constructor(user: Promise<UserWithPropertyBag>);
    evaluateRoleWithContext(context: {
        [key: string]: string | number;
    }): Promise<boolean>;
}
declare class InternalUsersExceptRestrictedPermissionEvaluator implements RolePermissionEvaluator {
    private user;
    constructor(user: Promise<UserWithPropertyBag>);
    evaluateRoleWithContext(context: {
        [key: string]: string | number;
    }): Promise<boolean>;
}
declare class ExternalUsersPermissionEvaluator implements RolePermissionEvaluator {
    private user;
    constructor(user: Promise<UserWithPropertyBag>);
    evaluateRoleWithContext(context: {
        [key: string]: string | number;
    }): Promise<boolean>;
}
declare class UserResourceEvaluator implements RoleResourceEvaluator {
    getRoleResourceWithContext(context: {
        [key: string]: string | number;
    }): Promise<string>;
}
export { AuthorizedUsersPermissionEvaluator, InternalUsersPermissionEvaluator, InternalUsersExceptRestrictedPermissionEvaluator, ExternalUsersPermissionEvaluator, UserResourceEvaluator };
