import Star from '../../../lib/star';
import Registry from '../registry';
import BaseStrategy from '../../../lib/strategies/base';
import { LoggerInstance } from '../../../typings/logger';
import ActionEndpoint from '../endpoint/action';
import Node from '../node';
import ServiceItem from '../service-item';
import EndpointList from '../endpoint/list';
export default class ActionCatalog {
    registry: Registry;
    star: Star;
    logger: LoggerInstance;
    StrategyFactory: typeof BaseStrategy;
    actions: Map<string, EndpointList>;
    EndpointFactory: typeof ActionEndpoint;
    constructor(registry: Registry, star: Star, StrategyFactory: typeof BaseStrategy);
    add(node: Node, service: ServiceItem, action: any): EndpointList;
    get(name: string): EndpointList | undefined;
    isAvailable(name: string): boolean;
    removeByService(service: ServiceItem): void;
    remove(name: string, nodeID: string): void;
    list(options?: {
        onlyLocal?: boolean;
        onlyAvaliable?: boolean;
        skipInterval?: boolean;
        withEndpoints?: boolean;
    }): any[];
}
