import { GenericObject } from '../../typings';
import { Registry } from '../registry';
import Star from '../star';
import BaseStrategy from './base';
import { LRUCache } from 'lru-cache';
import Context from '../context';
import Endpoint from '../registry/endpoint/item';
export default class ShardStrategy extends BaseStrategy {
    cache: LRUCache<number, string>;
    needRebuild: boolean;
    ring: Array<any>;
    constructor(registry: Registry, star: Star, options: GenericObject);
    private getKeyFromContext;
    private getNodeIDByKey;
    private getHash;
    private rebuild;
    select(list: Endpoint[], ctx?: Context | undefined): Endpoint;
}
