import { PermissionRepository } from "./repositories/permission.repository";
import { Permission } from "./entities/permission.entity";
import { CreatePermissionDto } from "./dto/create-permission.dto";
import { UpdatePermissionDto } from "./dto/update-permission.dto";
export declare class PermissionsService {
    private readonly permissionRepository;
    constructor(permissionRepository: PermissionRepository);
    create(createPermissionDto: CreatePermissionDto, token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    findAll(query?: any, isCompanyAdmin?: boolean): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: null;
    }>;
    findOne(id: number): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    update(id: number, updatePermissionDto: UpdatePermissionDto, token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    remove(id: number, token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    getGroupedPermissions(): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: null;
    }>;
    activeInactive(id: number, token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    checkPermissionExist(groupKey: string, permissionKey: string): Promise<boolean>;
    findByPermissionKey(permissionKey: string): Promise<number | Permission | import("../../common/interfaces/pagination-result.interface").PaginatedResult<Permission> | Permission[]>;
}
