/**
 * Tenant Management Hooks
 */
import type { Tenant, CreateTenantRequest, UpdateTenantRequest, TenantLookupDto, TenantAnalytics, TenantBackup, TenantRestoreRequest, AvailableFeature } from '../types';
export declare const tenantKeys: {
    all: readonly ["tenants"];
    lists: () => readonly ["tenants", "list"];
    list: (filters: Record<string, any>) => readonly ["tenants", "list", Record<string, any>];
    details: () => readonly ["tenants", "detail"];
    detail: (id: string) => readonly ["tenants", "detail", string];
    lookup: () => readonly ["tenants", "lookup"];
    analytics: (id: string, period: string) => readonly ["tenants", "analytics", string, string];
    backups: (id: string) => readonly ["tenants", "backups", string];
    features: () => readonly ["tenants", "features"];
    statistics: () => readonly ["tenants", "statistics"];
};
/**
 * Get tenants with pagination and filtering
 */
export declare function useTenants(page?: number, pageSize?: number, search?: string, isActive?: boolean, sortBy?: string, sortOrder?: 'asc' | 'desc', options?: {
    enabled?: boolean;
}): import("@tanstack/react-query").UseQueryResult<import(".").TenantsResponse, Error>;
/**
 * Get single tenant by ID
 */
export declare function useTenant(id: string): import("@tanstack/react-query").UseQueryResult<Tenant, Error>;
/**
 * Get tenant lookup data
 */
export declare function useTenantLookup(): import("@tanstack/react-query").UseQueryResult<TenantLookupDto[], Error>;
/**
 * Create new tenant
 */
export declare function useCreateTenant(): import("@tanstack/react-query").UseMutationResult<Tenant, Error, CreateTenantRequest, unknown>;
/**
 * Update existing tenant
 */
export declare function useUpdateTenant(): import("@tanstack/react-query").UseMutationResult<Tenant, Error, UpdateTenantRequest, unknown>;
/**
 * Delete tenant
 */
export declare function useDeleteTenant(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
/**
 * Activate tenant
 */
export declare function useActivateTenant(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
/**
 * Deactivate tenant
 */
export declare function useDeactivateTenant(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
/**
 * Get tenant analytics
 */
export declare function useTenantAnalytics(id: string, period?: 'day' | 'week' | 'month' | 'year'): import("@tanstack/react-query").UseQueryResult<TenantAnalytics, Error>;
/**
 * Test tenant connection
 */
export declare function useTestTenantConnection(): import("@tanstack/react-query").UseMutationResult<import(".").TenantConnection, Error, string, unknown>;
/**
 * Update tenant connection
 */
export declare function useUpdateTenantConnection(): import("@tanstack/react-query").UseMutationResult<void, Error, {
    id: string;
    connectionString: string;
}, unknown>;
/**
 * Get available features
 */
export declare function useAvailableFeatures(): import("@tanstack/react-query").UseQueryResult<AvailableFeature[], Error>;
/**
 * Update tenant features
 */
export declare function useUpdateTenantFeatures(): import("@tanstack/react-query").UseMutationResult<void, Error, {
    id: string;
    features: any[];
}, unknown>;
/**
 * Get tenant backups
 */
export declare function useTenantBackups(id: string): import("@tanstack/react-query").UseQueryResult<TenantBackup[], Error>;
/**
 * Create tenant backup
 */
export declare function useCreateTenantBackup(): import("@tanstack/react-query").UseMutationResult<TenantBackup, Error, {
    id: string;
    name: string;
    description?: string;
    options?: any;
}, unknown>;
/**
 * Restore tenant from backup
 */
export declare function useRestoreTenantFromBackup(): import("@tanstack/react-query").UseMutationResult<void, Error, TenantRestoreRequest, unknown>;
/**
 * Delete tenant backup
 */
export declare function useDeleteTenantBackup(): import("@tanstack/react-query").UseMutationResult<void, Error, {
    tenantId: string;
    backupId: string;
}, unknown>;
/**
 * Get tenant statistics
 */
export declare function useTenantStatistics(): import("@tanstack/react-query").UseQueryResult<{
    totalTenants: number;
    activeTenants: number;
    inactiveTenants: number;
    totalUsers: number;
    totalStorage: number;
    averageUsersPerTenant: number;
    topTenantsByUsers: Array<{
        tenantId: string;
        name: string;
        userCount: number;
    }>;
    topTenantsByStorage: Array<{
        tenantId: string;
        name: string;
        storageUsed: number;
    }>;
}, Error>;
/**
 * Bulk activate tenants
 */
export declare function useBulkActivateTenants(): import("@tanstack/react-query").UseMutationResult<void, Error, string[], unknown>;
/**
 * Bulk deactivate tenants
 */
export declare function useBulkDeactivateTenants(): import("@tanstack/react-query").UseMutationResult<void, Error, string[], unknown>;
/**
 * Bulk delete tenants
 */
export declare function useBulkDeleteTenants(): import("@tanstack/react-query").UseMutationResult<void, Error, string[], unknown>;
/**
 * Clone tenant
 */
export declare function useCloneTenant(): import("@tanstack/react-query").UseMutationResult<Tenant, Error, {
    sourceId: string;
    newName: string;
    newDisplayName: string;
    options?: any;
}, unknown>;
//# sourceMappingURL=use-tenants.d.ts.map