/// <reference types="express" />
import { Container, GabliamPlugin, Registry } from '@gabliam/core';
import { RestMetadata, WebConfiguration, WebPluginBase } from '@gabliam/web-core';
import { express } from './express';
import { ExpressMethods } from './interfaces';
export declare class ExpressPlugin extends WebPluginBase<express.Application> implements GabliamPlugin {
    bindApp(container: Container, registry: Registry, webConfiguration: WebConfiguration): void;
    destroy(container: Container, registry: Registry): Promise<void>;
    stop(container: Container, registry: Registry): Promise<void>;
    start(container: Container, registry: Registry): Promise<void>;
    buildControllers(restMetadata: RestMetadata<ExpressMethods>, container: Container): Promise<void>;
    private handlerFactory;
}
