import { DeleteDTO } from '../dto/delete.dto';
import { UpdateIdsDTO } from '../dto/update-ids.dto';
import { CreateDTO } from './dto/create.dto';
import { UpdateDTO } from './dto/update.dto';
import { RoleService } from './role.service';
export declare class RoleController {
    private readonly roleService;
    constructor(roleService: RoleService);
    list(paginationParams: any, locale: any): Promise<{
        data: any[];
        total: number;
        page: number;
        pageSize: any;
        prev: number;
        next: number;
        lastPage: number;
    }>;
    listUsers(paginationParams: any, roleId: number): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    listMenus(paginationParams: any, roleId: number, locale: any): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    listRoutes(paginationParams: any, roleId: number, search?: string, searchType?: 'contains' | 'startsWith' | 'endsWith', method?: string): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    listScreens(paginationParams: any, roleId: number, locale: any): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    updateUsers(roleId: number, data: UpdateIdsDTO): Promise<{
        count: number;
    }>;
    updateMenus(roleId: number, data: UpdateIdsDTO): Promise<{
        count: number;
    }>;
    updateRoutes(roleId: number, data: UpdateIdsDTO): Promise<{
        count: number;
    }>;
    updateScreens(roleId: number, data: UpdateIdsDTO): Promise<{
        count: number;
    }>;
    show(roleId: number): Promise<{
        locale: Record<string, {
            name: string;
            description: string;
        }>;
        role_locale: ({
            locale: {
                code: string;
            };
        } & {
            name: string;
            id: number;
            description: string | null;
            created_at: Date;
            updated_at: Date;
            locale_id: number;
            role_id: number;
        })[];
        id: number;
        created_at: Date;
        updated_at: Date;
        slug: string;
    }>;
    create(data: CreateDTO): Promise<{
        locale: Record<string, {
            name: string;
            description: string;
        }>;
        role_locale: ({
            locale: {
                code: string;
            };
        } & {
            name: string;
            id: number;
            description: string | null;
            created_at: Date;
            updated_at: Date;
            locale_id: number;
            role_id: number;
        })[];
        id: number;
        created_at: Date;
        updated_at: Date;
        slug: string;
    }>;
    update(roleId: number, data: UpdateDTO, locale: any): Promise<{
        locale: Record<string, {
            name: string;
            description: string;
        }>;
        role_locale: ({
            locale: {
                code: string;
            };
        } & {
            name: string;
            id: number;
            description: string | null;
            created_at: Date;
            updated_at: Date;
            locale_id: number;
            role_id: number;
        })[];
        id: number;
        created_at: Date;
        updated_at: Date;
        slug: string;
    }>;
    delete(data: DeleteDTO, locale: any): Promise<{
        count: number;
    }>;
}
//# sourceMappingURL=role.controller.d.ts.map