/** * @nahisaho/yata-scale - Shard Manager * * Manages sharding for distributed knowledge graph */ import { type Result } from 'neverthrow'; import type { ShardConfig, ShardInfo, ShardStatus, RebalancePlan } from './types.js'; import { ShardNotFoundError, ShardError } from './errors.js'; /** * Hash-based partition strategy using consistent hashing */ export declare class HashPartitionStrategy { private readonly virtualNodes; private ring; private sortedKeys; private shards; constructor(virtualNodes?: number); private hash; addShard(shardId: string): void; removeShard(shardId: string): void; getShardForEntity(entityId: string): string; getAllShards(): string[]; } /** * Shard manager for distributed knowledge graph */ export declare class ShardManager { private shards; private strategy; constructor(); createShard(shardId: string, _config: ShardConfig): Result; getShard(shardId: string): Result; deleteShard(shardId: string): Result; updateShardStatus(shardId: string, status: ShardStatus): Result; getShardForEntity(entityId: string): string; getAllShards(): string[]; getStats(): { totalShards: number; totalEntities: number; healthyShards: number; }; checkHealth(): { healthy: boolean; unhealthyShards: string[]; }; planRebalance(loads: Map): RebalancePlan; } //# sourceMappingURL=ShardManager.d.ts.map