import { IDeleteRequest, IGetRequest, IOptionsRequest, IPostRequest, IPutRequest, Request } from "../i-request";
import { IDevServerServeOptions } from "../i-dev-server-serve-options";
import { ResponseReadySubscriber } from "../response-ready-subscriber";
export interface IRequestHandlerOptions {
    request: Request;
    serverOptions: IDevServerServeOptions;
    onResponseReady: ResponseReadySubscriber;
    onIndexRequested(userAgent: string, root: string): string;
}
export interface IGetRequestHandlerOptions extends IRequestHandlerOptions {
    request: IGetRequest;
}
export interface IPutRequestHandlerOptions extends IRequestHandlerOptions {
    request: IPutRequest;
}
export interface IPostRequestHandlerOptions extends IRequestHandlerOptions {
    request: IPostRequest;
}
export interface IDeleteRequestHandlerOptions extends IRequestHandlerOptions {
    request: IDeleteRequest;
}
export interface IOptionsRequestHandlerOptions extends IRequestHandlerOptions {
    request: IOptionsRequest;
}
export declare type RequestHandlerOptions = IGetRequestHandlerOptions | IPutRequestHandlerOptions | IPostRequestHandlerOptions | IDeleteRequestHandlerOptions | IOptionsRequestHandlerOptions;
