import { RoleService } from "./role.service";
import { CreateRoleDto } from "../dto/create-role.dto";
import { UpdateRoleDto } from "../dto/update-role.dto";
import { FindAllRolesDto } from "../dto/find-all-roles.dto";
export declare class RoleController {
    private readonly roleService;
    constructor(roleService: RoleService);
    createRole(createRoleDto: CreateRoleDto): Promise<import("../entities/role.entity").Role | {
        success: boolean;
        code: number;
        message: string;
    }>;
    findAllRoles(roleDto: FindAllRolesDto): Promise<{
        count: number;
        data: {
            member_count: number;
            id: number;
            name: string;
            status: number;
            description: string;
            parent_role_id: number;
            is_web_login: boolean;
            deleted_at: Date;
            created_at: Date;
            updated_at: Date;
            users: import("../../auth/entities/auth.entity").Auth[];
            role_permissions: import("../../role-permission/entities/role-permission.entity").RolePermission[];
            team_member: import("../../team-member/entities/team_member.entity").TeamMember[];
            departments: import("../../department/entities/department.entity").Department[];
            business_verticals: import("../../business-verticals/entities/business-verticals.entity").BusinessVertical[];
            parent_role: import("../entities/role.entity").Role;
            child_roles: import("../entities/role.entity").Role[];
        }[];
    }>;
    findOne(id: number): Promise<import("../entities/role.entity").Role>;
    update(id: number, updateData: UpdateRoleDto): Promise<import("../entities/role.entity").Role | {
        success: boolean;
        code: number;
        message: string;
    }>;
    remove(id: number): Promise<string | {
        success: boolean;
        code: number;
        message: string;
    }>;
    changeStatus(id: number, status: number): Promise<import("../entities/role.entity").Role>;
    rolesDropdown(excludeId?: string): Promise<number | import("../entities/role.entity").Role | import("../entities/role.entity").Role[] | import("../../../common/interfaces/pagination-result.interface").PaginatedResult<import("../entities/role.entity").Role>>;
}
