import { DashboardComponentRoleService } from './dashboard-component-role.service';
import { CreateDashboardComponentRoleBatchDTO, CreateDashboardComponentRoleDTO } from './dto';
export declare class DashboardComponentRoleController {
    private readonly service;
    constructor(service: DashboardComponentRoleService);
    getAll(paginationParams: any, locale: string, componentId?: string): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }> | 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;
        component_id: number;
        role_id: number;
    })[]>;
    create(data: CreateDashboardComponentRoleDTO, 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_component: {
            dashboard_component_locale: ({
                locale: {
                    code: string;
                    name: string;
                    id: number;
                    region: string;
                    enabled: boolean;
                    created_at: Date;
                    updated_at: Date;
                };
            } & {
                name: string;
                id: number;
                description: string;
                created_at: Date;
                updated_at: Date;
                locale_id: number;
                dashboard_component_id: number;
            })[];
        } & {
            id: number;
            height: number;
            width: number;
            created_at: Date;
            updated_at: Date;
            slug: string;
            library_slug: string;
            min_width: number;
            max_width: number | null;
            min_height: number;
            max_height: number | null;
            is_resizable: boolean;
        };
    } & {
        id: number;
        created_at: Date;
        updated_at: Date;
        component_id: number;
        role_id: number;
    }>;
    createBatch(data: CreateDashboardComponentRoleBatchDTO, locale: string): Promise<{
        success: boolean;
        created: number;
        skipped: number;
        message: any;
    }>;
    delete(id: number, locale: string): Promise<{
        success: boolean;
    }>;
    deleteByComponentAndRole(componentId: number, roleId: number, locale: string): Promise<{
        success: boolean;
    }>;
}
//# sourceMappingURL=dashboard-component-role.controller.d.ts.map