import { DashboardCoreService } from './dashboard-core.service';
export declare class DashboardCoreController {
    private readonly dashboardCoreService;
    constructor(dashboardCoreService: DashboardCoreService);
    getHome({ id }: {
        id: any;
    }, locale: string): Promise<{
        id: number;
        icon: string | null;
        created_at: Date;
        updated_at: Date;
        slug: string;
        is_template: boolean;
    }>;
    getUserStatistics(): Promise<{
        cards: {
            sessionsToday: {
                value: number;
                change: number;
            };
            activeUsers: {
                value: number;
                change: number;
            };
            roles: {
                value: number;
                change: number;
            };
        };
        charts: {
            permissionDistribution: {
                name: string;
                value: number;
                color: string;
            }[];
            sessionActivity: any[];
            userGrowth: {
                month: string;
                users: number;
                sessions: number;
            }[];
        };
    }>;
    getMailStatistics(): Promise<{
        cards: {
            emailsSent: {
                value: number;
                change: number;
            };
        };
        charts: {
            emailsPerWeek: {
                day: string;
                sent: number;
            }[];
        };
    }>;
    getSystemStatistics(): Promise<{
        cards: {
            menus: {
                value: number;
                change: number;
            };
            routes: {
                value: number;
                change: any;
            };
        };
    }>;
    getConfigOverview(): Promise<import("./dashboard-core.service").DashboardCoreConfigOverview>;
    getWidgetsData(user: any, locale: string): Promise<{
        accountSecurity: {
            score: number;
            checks: ({
                id: string;
                labelKey: string;
                descriptionKey: string;
                enabled: boolean;
                mfaTypes?: undefined;
            } | {
                id: string;
                labelKey: string;
                descriptionKey: string;
                enabled: boolean;
                mfaTypes: import("@prisma/client").$Enums.user_mfa_type_4ce08a626e_enum[];
            })[];
        };
        activityTimeline: {
            id: number;
            action: string;
            created_at: Date;
        }[];
        emailNotifications: {
            cards: {
                received: number;
                read: number;
                unread: number;
                error: number;
            };
            chart: {
                date: string;
                received: number;
                read: number;
            }[];
        };
        loginHistory: {
            day: string;
            logins: number;
            failed: number;
        }[];
        profile: {
            id: number;
            name: string;
            photo_id: number;
            email: string;
            role: string;
            memberSince: Date;
            lastLogin: Date;
            totalSessions: number;
            totalRoles: number;
        };
        quickStats: {
            onlineTime: string;
            actionsToday: number;
            consecutiveDays: number;
            securityLevel: number;
        };
        userRoles: {
            id: number;
            slug: string;
            name: string;
        }[];
        userSessions: {
            id: string;
            ip_address: string;
            user_agent: string;
            created_at: Date;
            expires_at: Date;
        }[];
    }>;
    getUserDashboards(user: any, locale: string): Promise<{
        id: number;
        slug: string;
        name: string;
        icon: string;
        is_home: boolean;
        dashboard_locale: {
            name: string;
            id: number;
            created_at: Date;
            updated_at: Date;
            locale_id: number;
            dashboard_id: number;
        }[];
    }[]>;
    getAvailableTemplates(user: any, locale: string): Promise<{
        id: number;
        slug: string;
        name: string;
        icon: string;
        itemCount: number;
    }[]>;
    createUserDashboard(user: any, body: {
        name?: string;
        slug?: string;
        icon?: string | null;
        templateSlug?: string;
    }, locale: string): Promise<{
        id: number;
        slug: string;
        name: string;
        icon: string;
        is_home: boolean;
    }>;
    reorderUserDashboards(user: any, body: {
        slugs?: string[];
    }, locale: string): Promise<{
        success: boolean;
        orderedSlugs?: undefined;
    } | {
        success: boolean;
        orderedSlugs: string[];
    }>;
    renameUserDashboard(user: any, slug: string, body: {
        name?: string;
        icon?: string | null;
    }, locale: string): Promise<{
        success: boolean;
        slug: string;
        name: string;
        icon: string;
    }>;
    setHomeDashboard(user: any, slug: string, locale: string): Promise<{
        success: boolean;
        slug: string;
    }>;
    getDashboardShares(user: any, slug: string, locale: string): Promise<{
        id: number;
        name: string;
        email: string;
        isCurrentUser: boolean;
        isHome: boolean;
        hasRequiredRoles: boolean;
        accessStatus: string;
    }[]>;
    getShareableUsers(user: any, slug: string, search: string | undefined, page: string | undefined, pageSize: string | undefined, locale: string): Promise<{
        data: {
            id: number;
            name: string;
            email: string;
            hasRequiredRoles: boolean;
            accessStatus: string;
        }[];
        total: number;
        page: number;
        pageSize: number;
        lastPage: number;
        prev: number;
        next: number;
    }>;
    shareDashboard(user: any, slug: string, body: {
        userId?: number;
        userIds?: number[];
    }, locale: string): Promise<{
        success: boolean;
        sharedCount: number;
        sharedUserIds: number[];
        alreadySharedUserIds: number[];
    }>;
    revokeDashboardShare(user: any, slug: string, sharedUserId: number, locale: string): Promise<{
        success: boolean;
    }>;
    removeUserDashboard(user: any, slug: string, locale: string): Promise<{
        success: boolean;
        removedSlug: string;
    }>;
    checkAccess(user: any, slug: string, locale: string): Promise<{
        hasAccess: boolean;
        dashboard: any;
        accessStatus?: undefined;
    } | {
        hasAccess: boolean;
        accessStatus: string;
        dashboard: {
            id: number;
            slug: string;
            name: string;
        };
    }>;
    getUserLayout(user: any, slug: string, locale: string): Promise<{
        i: string;
        component_id: number;
        slug: any;
        library_slug: any;
        name: any;
        description: any;
        x: number;
        y: number;
        w: number;
        h: number;
        minW: any;
        maxW: any;
        minH: any;
        maxH: any;
        isResizable: any;
    }[]>;
    saveUserLayout(user: any, slug: string, body: {
        layout: Array<{
            i: string;
            x: number;
            y: number;
            w: number;
            h: number;
        }>;
    }): Promise<{
        success: boolean;
    }>;
    addWidget(user: any, slug: string, body: {
        componentSlug: string;
    }, locale: string): Promise<{
        i: string;
        component_id: number;
        slug: string;
        library_slug: string;
        name: any;
        description: any;
        x: number;
        y: number;
        w: number;
        h: number;
        minW: number;
        maxW: number;
        minH: number;
        maxH: number;
        isResizable: boolean;
    }>;
    removeWidget(user: any, slug: string, widgetId: string): Promise<{
        success: boolean;
        removedWidgetId: string;
    }>;
    fromSlug(slug: string, locale: any): Promise<({
        dashboard_component: {
            dashboard_component_locale: {
                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;
        height: number;
        width: number;
        created_at: Date;
        updated_at: Date;
        component_id: number;
        dashboard_id: number;
        x_axis: number;
        y_axis: number;
    })[]>;
}
//# sourceMappingURL=dashboard-core.controller.d.ts.map