import { PermissionService } from './permission.service';
import { PaginatedPermissionResponseDto, PermissionResponseDto } from './dto/permission-response.dto';
import { CreatePermissionDto } from './dto/create-permission.dto';
import { UpdatePermissionDto } from './dto/update-permission.dto';
import { CreateSubPermissionDto } from './dto/create-sub-permisison.dto';
import { UpdateSubPermissionDto } from './dto/update-sub-permission.dto';
export declare class PermissionController {
    private readonly permissionService;
    private readonly logger;
    constructor(permissionService: PermissionService);
    createPermission(createPermissionDto: CreatePermissionDto): Promise<PermissionResponseDto>;
    updatePermission(id: string, updatePermissionDto: UpdatePermissionDto): Promise<PermissionResponseDto>;
    deletePermission(id: string): Promise<void>;
    findAllClientPermissions(): Promise<PermissionResponseDto[]>;
    findPermissionById(id: string): Promise<PermissionResponseDto>;
    findPermissionByName(name: string): Promise<PermissionResponseDto>;
    getPermissionsByRoleId(roleId: string, page?: number, limit?: number): Promise<PaginatedPermissionResponseDto>;
    getPermissionsByRoleName(roleName: string, page?: number, limit?: number): Promise<PaginatedPermissionResponseDto>;
    removePermissionsFromRole(roleId: string, permissionIds: string[]): Promise<void>;
    createSubPermission(createSubPermissionDto: CreateSubPermissionDto): Promise<PermissionResponseDto>;
    updateSubPermission(id: string, updateSubPermissionDto: UpdateSubPermissionDto): Promise<PermissionResponseDto>;
    deleteSubPermission(id: string): Promise<void>;
    findSubPermissionById(id: string): Promise<PermissionResponseDto>;
    findSubPermissionByName(name: string): Promise<PermissionResponseDto>;
}
