import { AccessService, type AccessWithRoles } from '../../lib/services/access-service.js';
import type User from '../../lib/types/user.js';
import type { IRole } from '../../lib/types/stores/access-store.js';
import { type IAvailablePermissions, RoleName } from '../../lib/types/model.js';
declare class AccessServiceMock extends AccessService {
    constructor();
    hasPermission(_user: User, _permission: string, _projectId?: string): Promise<boolean>;
    getPermissions(): Promise<IAvailablePermissions>;
    addUserToRole(_userId: number, _roleId: number): Promise<void>;
    setUserRootRole(_userId: number, _roleId: number): Promise<void>;
    addPermissionToRole(_roleId: number, _permission: string, _projectId?: string): Promise<void>;
    removePermissionFromRole(_roleId: number, _permission: string, _projectId?: string): Promise<void>;
    getRoles(): Promise<IRole[]>;
    getRolesForProject(_projectId: string): Promise<IRole[]>;
    getRolesForUser(_userId: number): Promise<IRole[]>;
    getUserRootRoles(_userId: number): Promise<IRole[]>;
    getUsersForRole(_roleId: any): Promise<User[]>;
    getProjectRoleAccess(_projectId: string): Promise<AccessWithRoles>;
    createDefaultProjectRoles(_owner: User, _projectId: string): Promise<void>;
    removeDefaultProjectRoles(_owner: User, _projectId: string): Promise<void>;
    getRootRole(roleName: RoleName): Promise<IRole>;
    getRootRoleForUser(_userId: number): Promise<IRole>;
}
export default AccessServiceMock;
//# sourceMappingURL=access-service-mock.d.ts.map