import { DashboardComponentService } from './dashboard-component.service';
import { CreateDashboardComponentDTO, UpdateDashboardComponentDTO } from './dto';
export declare class DashboardComponentController {
    private readonly dashboardComponentService;
    constructor(dashboardComponentService: DashboardComponentService);
    getAllComponents(paginationParams: any): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    getAllComponentsByUserRole(paginationParams: any, { id }: {
        id: any;
    }, librarySlug?: string, exclude?: string): Promise<{
        modules: string[];
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    getComponent(id: number, locale: string, { id: userId }: {
        id: any;
    }): Promise<{
        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;
    }>;
    createComponent(data: CreateDashboardComponentDTO, locale: string): Promise<{
        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;
    }>;
    updateComponent(id: number, data: UpdateDashboardComponentDTO, locale: string): Promise<{
        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;
    }>;
    deleteComponent(id: number, locale: string): Promise<{
        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;
    }>;
    savePreview(id: number, file: MulterFile, locale: string): Promise<{
        success: boolean;
        componentId: number;
        slug: string;
        library_slug: string;
        fileName: string;
        relativeUrl: string;
    }>;
}
//# sourceMappingURL=dashboard-component.controller.d.ts.map