///
import { Server, IncomingMessage, ServerResponse } from 'http';
import { Server as Socket } from 'socket.io';
import { Middleware, Stack } from './middleware';
export interface MimeType {
type: string;
name: string;
extensions: string[];
}
export interface Config {
host?: string;
port?: number;
subfolder?: string;
middlewares?: Stack[];
directory?: string;
additionalMimeTypes?: MimeType[];
}
export declare class ParvusServer {
server: Server;
mimeTypes: MimeType[];
io: Socket;
private connectedBefore;
private readonly host;
private readonly port;
private readonly directory;
private readonly subfolder;
private middlewares;
constructor(config?: Config);
startAsync(): Promise;
stop(): void;
refreshBrowser(): void;
addMiddleware(middleware: Middleware, route?: string): void;
private mergedMimeTypes;
private static fetchMimetypes;
private createServer;
defaultHandler(req: IncomingMessage, res: ServerResponse, directory?: string, addSocket?: boolean): Promise;
private static socketInjection;
}