///
///
///
import * as http from 'http';
import { BlobTree } from 'wac-ldp';
import { Hub } from 'websockets-pubsub';
import Koa from 'koa';
import { IResourceStore, IOperationFactory, IAuthorizer, IHttpHandler } from 'solid-server-ts';
interface HttpsConfig {
key: Buffer;
cert: Buffer;
}
interface OptionsObject {
port: number;
rootDomain: string;
httpsConfig?: HttpsConfig;
storage: BlobTree;
keystore: any;
useHttps: boolean;
mailConfiguration: any;
idpStorage: any;
}
export declare class Server {
operationFactory: IOperationFactory;
authorizer: IAuthorizer;
server: http.Server | undefined;
hub: Hub | undefined;
port: number;
lowLevelResourceStore: IResourceStore;
midLevelResourceStore: IResourceStore;
highLevelResourceStore: IResourceStore;
wsServer: any;
app: Koa | undefined;
idpRouter: any;
rootDomain: string;
rootOrigin: string;
wacLdp: IHttpHandler;
httpsConfig: HttpsConfig | undefined;
useHttps: boolean;
keystore: any;
mailConfiguration: any;
idpStorage: any;
constructor(options: OptionsObject);
webSocketUrl(): URL;
storageRootStrToWebIdStr(storageRoot: string): string;
screenNameToStorageRootStr(screenName: string): string;
listen(): Promise;
close(): void;
}
export {};