/// <reference types="node" />
import { Context } from 'continuation-local-storage';
import { ServerMetadata } from '../metadata/server/server';
export declare class ClsNamespaceService {
    private meta;
    constructor(meta: ServerMetadata);
    start(): Promise<void>;
    private static namespaceNum;
    private _namespace;
    readonly name: string;
    readonly activeContext: () => any;
    readonly active: () => any;
    createContext(): any;
    get(key: string): any;
    set<T>(key: string, val: T): void;
    run<T = void>(callback: (...args: any[]) => T): void;
    runAndReturn<T = void>(callback: (...args: any[]) => T): T;
    bind(callback: any, context?: Context): any;
    bindEmitter(emitter: NodeJS.EventEmitter): any;
}
