import { LogContext } from '@rocicorp/logger';
import type { Service } from './service.ts';
/**
 * Manages the creation and lifecycle of objects that implement
 * {@link Service}.
 */
export declare class ServiceRunner<S extends Service> {
    #private;
    constructor(lc: LogContext, factory: (id: string) => S, isValid?: (existing: S) => boolean);
    /**
     * Creates and runs the Service with the given `id`, returning
     * an existing one if it is still running a valid.
     */
    getService(id: string): S;
    get size(): number;
    getServices(): Iterable<S>;
}
//# sourceMappingURL=runner.d.ts.map