/// import HTTP from 'http'; import Node from './src/type/node'; import HttpError from './src/http/error'; import HeaderMap from './src/http/type/header-map'; import Repository from './src/repository'; import HttpHeader from './src/http/enum/header'; import StatusCode from './src/http/enum/status-code'; import ContentType from './src/http/enum/content-type'; import UrlParameters from './src/http/type/url-parameters'; declare type AllowedOutputs = string | Buffer | object; declare abstract class Endpoint { private request; private response; private url_parameters; private query_parameters; private repository; private status_code; private response_headers; private request_body; private account; constructor(request: HTTP.IncomingMessage, response: HTTP.ServerResponse, url_parameters: UrlParameters, repository: Repository); serve(): void; protected getRequest(): HTTP.IncomingMessage; protected getResponse(): HTTP.ServerResponse; protected setHeaderValue(header: HttpHeader, value: string): void; protected getResponseHeaders(): HeaderMap; protected getUrlParameter(parameter: string): string; protected getQueryParameter(parameter: string): any; protected setStatusCode(status_code: StatusCode): void; protected getRepository(): Repository; protected getRequestBody(): Input; protected getAccount(): Node; protected redirectToUrl(url: string): void; private serveInternal; private parseBody; private loadAccount; private hasUnparsableMethod; private getStatusCode; private handleResult; private sendString; private sendData; private handleError; private logCompletion; private getRequestUrl; private getRequestContentType; private getUrlParameters; private getQueryParameters; private parseQueryParameters; private getBodyParser; protected abstract process(): Promise; protected abstract getResponseContentType(): ContentType; protected abstract serializeError(error: HttpError): Output; } export default Endpoint;