import type { IncomingMessage, Server, ServerResponse } from "node:http";
import type { TypeBoxTypeProvider } from "@fastify/type-provider-typebox";
import { type FastifyBaseLogger, type FastifyInstance } from "fastify";
import type { CommonLogger } from "./interfaces.js";
export interface LocalEditorOptions {
    sourceDirectory: string;
    port: number;
    logger: CommonLogger;
    deploymentUrl: string;
}
type TypedFastifyInstance = FastifyInstance<Server<typeof IncomingMessage, typeof ServerResponse>, IncomingMessage, ServerResponse<IncomingMessage>, FastifyBaseLogger, TypeBoxTypeProvider>;
export declare class LocalEditorServer {
    app: TypedFastifyInstance;
    private listenerHost;
    private watcher;
    private sseClients;
    private listenerPort;
    private logger;
    private deploymentUrl;
    private sourceDirectory;
    constructor(options: LocalEditorOptions);
    init: () => Promise<void>;
    start: () => Promise<void>;
    close: () => Promise<void>;
}
export {};
//# sourceMappingURL=server.d.ts.map