import { PaginationService } from '@hed-hog/api-pagination';
import { PrismaService } from '@hed-hog/api-prisma';
import { CreateDashboardRoleBatchDTO, CreateDashboardRoleDTO } from './dto';
export declare class DashboardRoleService {
    private readonly prismaService;
    private readonly paginationService;
    constructor(prismaService: PrismaService, paginationService: PaginationService);
    getAll(paginationParams: any): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    getAllByDashboard(dashboardId: number): Promise<({
        role: {
            role_locale: ({
                locale: {
                    code: string;
                    name: string;
                    id: number;
                    region: string;
                    enabled: boolean;
                    created_at: Date;
                    updated_at: Date;
                };
            } & {
                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;
        };
    } & {
        id: number;
        created_at: Date;
        updated_at: Date;
        role_id: number;
        dashboard_id: number;
    })[]>;
    create(data: CreateDashboardRoleDTO, locale: string): Promise<{
        role: {
            role_locale: ({
                locale: {
                    code: string;
                    name: string;
                    id: number;
                    region: string;
                    enabled: boolean;
                    created_at: Date;
                    updated_at: Date;
                };
            } & {
                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;
        };
        dashboard: {
            dashboard_locale: ({
                locale: {
                    code: string;
                    name: string;
                    id: number;
                    region: string;
                    enabled: boolean;
                    created_at: Date;
                    updated_at: Date;
                };
            } & {
                name: string;
                id: number;
                created_at: Date;
                updated_at: Date;
                locale_id: number;
                dashboard_id: number;
            })[];
        } & {
            id: number;
            icon: string | null;
            created_at: Date;
            updated_at: Date;
            slug: string;
            is_template: boolean;
        };
    } & {
        id: number;
        created_at: Date;
        updated_at: Date;
        role_id: number;
        dashboard_id: number;
    }>;
    createBatch(data: CreateDashboardRoleBatchDTO, locale: string): Promise<{
        success: boolean;
        created: number;
        skipped: number;
        message: any;
    }>;
    delete(id: number, locale: string): Promise<{
        success: boolean;
    }>;
    deleteByDashboardAndRole(dashboardId: number, roleId: number, locale: string): Promise<{
        success: boolean;
    }>;
}
//# sourceMappingURL=dashboard-role.service.d.ts.map