///
import express, { Express as ExpressServer } from 'express';
import { Server as HttpServer } from 'http';
import type { LincdConfig } from 'lincd-cli/interfaces';
import { QuadSet } from 'lincd/collections/QuadSet';
import { Graph, NamedNode, Node } from 'lincd/models';
import { Shape } from 'lincd/shapes/Shape';
export declare const tempIOGraph: Graph;
export declare class LincdServer extends Shape {
/**
* indicates that instances of this shape need to have this rdf.type
*/
static targetClass: NamedNode;
private config;
private cachedPaths;
private assets;
private latestManifest;
protected server: ExpressServer;
protected httpServer: HttpServer;
private package;
private cacheWebpack;
private cssMode;
private analyse;
private shapeProviders;
private genericProviders;
private resizePathsMap;
private api;
/**
* yarn lincd start sends the contents of lincd.config.js as an object to this constructor
* @param n
*/
constructor(n?: Node | LincdConfig);
get app(): express.Express;
initPackage(): void;
initOnly(): Promise;
start(): Promise;
initOntologies(): Promise;
/**
*
* @returns
* @todo Check if default file store is set, if not, set it
*/
initStores(): Promise;
callGenericBackendProvidersMethod(method: string, ...args: any[]): Promise;
/**
* Removes temporary nodes from memory if they've been seen twice
* Current interval is once per hour.
* So after 2 hours temporary nodes are removed.
*/
initGarbageCollection(): void;
initBackendProviders(): Promise;
resizeImage(req: any, res: any): Promise;
indexLincdPackage(pkg: string, warnIfNotFound?: boolean): Promise;
indexPackageBackendProviders(pkg: string, warnIfNotFound?: boolean, backendIndexFilePath?: string): Promise<{
backendProviderExports: any;
shapeProviders: any[];
}>;
processBackendMethodCall(request: any, response: any): Promise;
noCache(response: any): void;
processAPICall(request: any, response: any, method: 'get' | 'post' | 'put' | 'delete'): Promise;
processShapeMethodCall(request: any, response: any): Promise;
clearRequestData(quads: QuadSet): void;
callShapeMethod(pkg: string, method: string, shapeURI: string, instanceNode: Node, args: any[], request: any, response: any): Promise;
handleErrors(fn: any): (req: any, res: any, next: any) => Promise;
handleErrorsJson(fn: any): (req: any, res: any, next: any) => Promise;
sendError(res: any, statusCode: number, message: any, logMessage?: string): void;
render(req: any, res: any): Promise;
sendJson(res: any, obj: any): Promise;
initRequest(request: any, response: any): Promise;
getRequestData(request: any, response: any): Promise<{
requestLD: string;
requestObject: string;
}>;
callBackendMethod(pkg: string, method: string, args: any[], request: any, response: any): Promise;
}