import type { LicenseInfo } from '@/contexts/LicenseContext';
export interface TenantSummaryDto {
    id: string;
    name: string;
    slug: string;
    type: 'Personal' | 'Business';
    organisationName: string | null;
    isDefault: boolean;
    accessLevel: 'Admin' | 'Member' | 'ReadOnly';
}
export interface BootstrapUserInfo {
    id: string;
    email: string;
    firstName: string | null;
    lastName: string | null;
    roles: string[];
    permissions: string[];
    tenants: TenantSummaryDto[];
}
export interface BootstrapSessionInfo {
    sessionId: string;
    loginAt: string;
    lastActivityAt: string;
    timeUntilIdleExpirySeconds: number;
    timeUntilAbsoluteExpirySeconds: number;
    isWarningThreshold: boolean;
    idleTimeoutMinutes: number;
    absoluteTimeoutHours: number;
    warningThresholdMinutes: number;
}
/**
 * Aggregated DTO containing all bootstrap data in a single response.
 * Reduces initial API calls from 5+ to 1.
 */
export interface BootstrapData {
    user: BootstrapUserInfo;
    session: BootstrapSessionInfo | null;
    license: LicenseInfo;
    unreadNotificationCount: number;
}
/**
 * Bootstrap API - provides all initial data needed at application startup.
 */
export declare const bootstrapApi: {
    /**
     * Get all bootstrap data in a single call.
     * Consolidates user info, session info, license info, and notification count.
     */
    getData: () => Promise<BootstrapData>;
};
//# sourceMappingURL=bootstrapApi.d.ts.map