import * as TE from "fp-ts/lib/TaskEither"; import type { Config } from "../../config"; import type { FastifyServer } from "../../infrastructure/http"; import type { Cache } from "../cache"; import type { Database } from "../database"; import type { Logger } from "../logger"; import type { Telemetry } from "../telemetry"; interface Dependencies { readonly logger: Logger; readonly fastify: FastifyServer; readonly database: Database; readonly cache: Cache; readonly telemetry: Telemetry; readonly config: Config; readonly exit: (statusCode: number) => void; } export declare function createShutdownManager({ logger, fastify, database, cache, telemetry, config, exit, }: Dependencies): { listenToProcessEvents: () => TE.TaskEither; shutdown: (shouldExit?: boolean) => TE.TaskEither; }; export {};