import type { Context } from './context';
interface ServiceImpl<T extends object = object> {
    readonly identity: string;
    readonly config: T;
    start(): void;
    stop(): void;
}
export declare abstract class Service<T extends object = object, C extends Context = Context> implements ServiceImpl<T> {
    readonly ctx: C;
    readonly config: T;
    readonly identity: string;
    readonly name: string;
    constructor(ctx: C, config: T, name: string);
    start(): void;
    stop(): void;
}
export default Service;
