import { type ReactNode } from 'react';
import type { ReactElement } from 'react';
import { type UserTenantDto } from '@/services/api/adminApi';
interface TenantContextType {
    /** Current active tenant */
    currentTenant: UserTenantDto | null;
    /** All tenants the user has access to */
    userTenants: UserTenantDto[];
    /** B2B tenants (Business type) */
    b2bTenants: UserTenantDto[];
    /** B2C tenant (Personal type) - user's personal workspace */
    personalTenant: UserTenantDto | null;
    /** Loading state for tenant operations */
    isLoading: boolean;
    /** Error state */
    error: string | null;
    /** Switch to a different tenant */
    switchTenant: (tenantId: string) => Promise<void>;
    /** Set tenant as user's default */
    setDefaultTenant: (tenantId: string) => Promise<void>;
    /** Clear default tenant (Global mode - no specific default) */
    clearDefaultTenant: () => Promise<void>;
    /** Refresh tenant list from server */
    refreshTenants: () => Promise<void>;
    /** Check if user has multiple tenants */
    hasMultipleTenants: boolean;
    /** Check if user is owner of current tenant */
    isCurrentTenantOwner: boolean;
    /** Check if user has global administrative roles (Super Admin) */
    hasGlobalRoles: boolean;
    /** Whether user is viewing all tenants (global view) */
    isGlobalView: boolean;
    /** Enter global view mode (see all tenants data) */
    enterGlobalView: () => Promise<void>;
    /** Exit global view mode (return to specific tenant) */
    exitGlobalView: () => Promise<void>;
}
export declare function TenantProvider({ children }: {
    children: ReactNode;
}): ReactElement;
export declare function useTenant(): TenantContextType;
export {};
//# sourceMappingURL=TenantContext.d.ts.map