///
import { EventBus } from "./event-bus";
import { GracefulShutdownOptions } from "./consumer";
export interface Drainable {
gracefulShutdown?(options?: GracefulShutdownOptions): Promise;
disconnect?(): Promise;
close?(): Promise;
}
export interface RegisterGracefulShutdownOptions extends GracefulShutdownOptions {
signals?: NodeJS.Signals[];
onComplete?: () => void;
onError?: (error: Error, resource: Drainable) => void;
exitProcess?: boolean;
}
export declare function registerGracefulShutdown(resources: Drainable | Drainable[], options?: RegisterGracefulShutdownOptions): () => void;
export declare function supportsConsumerScenarios(bus: EventBus): bus is EventBus & Required, "consume">>;