import { FullServerOptions } from "../structures/ServerOptions"; import { HandleRecord } from "./handle"; export declare abstract class Implementation { readonly options: FullServerOptions; constructor(options: FullServerOptions); abstract name(): string; abstract version(): string; abstract start(): Promise; abstract stop(): void; abstract port(): number; abstract handle(handlers: { [key in keyof HandleRecord]: (context: HandleRecord[key]) => Promise; }): void; abstract wsPublish(type: 'text' | 'binary', id: number, data: ArrayBuffer, compressed: boolean): void; } export type BaseImplementation = new (options: any) => Implementation;