import { LocaleService } from '@hed-hog/api-locale';
import { PaginationDTO, PaginationService } from '@hed-hog/api-pagination';
import { PrismaService } from '@hed-hog/api-prisma';
import { DeleteDTO } from '../dto/delete.dto';
import { UpdateIdsDTO } from '../dto/update-ids.dto';
import { IntegrationDeveloperApiService } from '../integration/services/integration-developer-api.service';
import { CreateDTO } from './dto/create.dto';
import { UpdateDTO } from './dto/update.dto';
export declare class RoleService {
    private readonly prismaService;
    private readonly paginationService;
    private readonly localeService;
    private readonly integrationApi;
    constructor(prismaService: PrismaService, paginationService: PaginationService, localeService: LocaleService, integrationApi: IntegrationDeveloperApiService);
    updateUsers(roleId: number, { ids }: UpdateIdsDTO): Promise<{
        count: number;
    }>;
    updateScreens(roleId: number, data: UpdateIdsDTO): Promise<{
        count: number;
    }>;
    updateRoutes(roleId: number, data: UpdateIdsDTO): Promise<{
        count: number;
    }>;
    updateMenus(roleId: number, data: UpdateIdsDTO): Promise<{
        count: number;
    }>;
    listUsers(roleId: number, paginationParams: PaginationDTO): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    listMenus(locale: string, roleId: number, paginationParams: PaginationDTO): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    listRoutes(roleId: number, paginationParams: PaginationDTO, search?: string, searchType?: 'contains' | 'startsWith' | 'endsWith', method?: string): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    listScreens(locale: string, roleId: number, paginationParams: PaginationDTO): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    list(paginationParams: any, locale: string): Promise<{
        data: any[];
        total: number;
        page: number;
        pageSize: any;
        prev: number;
        next: number;
        lastPage: number;
    }>;
    get(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(body: 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(id: number, body: UpdateDTO, localeRequest: string): 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({ ids }: DeleteDTO, localeRequest?: string): Promise<{
        count: number;
    }>;
}
//# sourceMappingURL=role.service.d.ts.map