/**
 * Datacenter Orchestration
 * Multi-datacenter worker coordination with region affinity and failover
 * Sealed namespace for immutability
 */
export type DatacenterRegion = {
    id: string;
    name: string;
    location: {
        continent: string;
        country: string;
        city: string;
        coordinates?: {
            lat: number;
            lng: number;
        };
    };
    priority: number;
    capacity: number;
    currentLoad: number;
    healthStatus: 'healthy' | 'degraded' | 'offline';
    latency: number;
    costMultiplier: number;
};
export type ReplicationStrategy = 'none' | 'active-passive' | 'active-active' | 'multi-master';
export type FailoverPolicy = {
    enabled: boolean;
    autoFailover: boolean;
    failoverThreshold: number;
    healthCheckInterval: number;
    minHealthyRegions: number;
    preferredRegions: string[];
};
export type WorkerPlacement = {
    workerName: string;
    primaryRegion: string;
    secondaryRegions: string[];
    replicationStrategy: ReplicationStrategy;
    affinityRules: {
        preferLocal: boolean;
        maxLatency?: number;
        avoidRegions?: string[];
    };
};
export type DatacenterTopology = {
    regions: DatacenterRegion[];
    connections: Array<{
        from: string;
        to: string;
        latency: number;
        bandwidth: number;
    }>;
};
/**
 * Datacenter Orchestrator - Sealed namespace
 */
export declare const DatacenterOrchestrator: Readonly<{
    /**
     * Register datacenter region
     */
    registerRegion(region: DatacenterRegion): void;
    /**
     * Unregister datacenter region
     */
    unregisterRegion(regionId: string): void;
    /**
     * Get region information
     */
    getRegion(regionId: string): DatacenterRegion | null;
    /**
     * List all regions
     */
    listRegions(healthStatus?: DatacenterRegion["healthStatus"]): ReadonlyArray<DatacenterRegion>;
    /**
     * Update region health status
     */
    updateRegionHealth(regionId: string, healthStatus: DatacenterRegion["healthStatus"]): void;
    /**
     * Update region load
     */
    updateRegionLoad(regionId: string, currentLoad: number): void;
    /**
     * Place worker in datacenter
     */
    placeWorker(placement: WorkerPlacement): void;
    /**
     * Get worker placement
     */
    getPlacement(workerName: string): WorkerPlacement | null;
    /**
     * Update worker placement
     */
    updatePlacement(workerName: string, updates: Partial<WorkerPlacement>): void;
    /**
     * Remove worker placement
     */
    removeWorker(workerName: string): void;
    /**
     * Find optimal region for job execution
     */
    findOptimalRegion(workerName: string, clientRegion?: string): string | null;
    /**
     * Set failover policy for region
     */
    setFailoverPolicy(regionId: string, policy: FailoverPolicy): void;
    /**
     * Get failover policy
     */
    getFailoverPolicy(regionId: string): FailoverPolicy | null;
    /**
     * Start health checks for region
     */
    startHealthChecks(regionId: string, intervalSeconds: number): void;
    /**
     * Stop health checks for region
     */
    stopHealthChecks(regionId: string): void;
    /**
     * Get datacenter topology
     */
    getTopology(): DatacenterTopology;
    /**
     * Get load balancing recommendation
     */
    getLoadBalancingRecommendation(): Array<{
        regionId: string;
        recommendedLoad: number;
    }>;
    /**
     * Shutdown datacenter orchestrator
     */
    shutdown(): void;
}>;
//# sourceMappingURL=DatacenterOrchestrator.d.ts.map