import type { IVirtualServer, ServerBridge, ServerRegistrationMetadata } from './server-bridge';
export type FetchHandler = (request: Request) => Response | Promise<Response>;
export interface FetchVirtualServerOptions {
    port: number;
    fetch: FetchHandler;
    baseUrl?: string;
    hostname?: string;
    rewriteAbsolutePaths?: boolean | {
        prefix: string;
    };
}
export interface RegisterFetchVirtualServerOptions extends FetchVirtualServerOptions {
    metadata?: ServerRegistrationMetadata;
}
export interface RegisteredFetchVirtualServer {
    port: number;
    url: string;
    server: IVirtualServer;
    unregister(): void;
}
export declare function createFetchVirtualServer(options: FetchVirtualServerOptions): IVirtualServer;
export declare function registerFetchVirtualServer(bridge: ServerBridge, options: RegisterFetchVirtualServerOptions): RegisteredFetchVirtualServer;
//# sourceMappingURL=fetch-virtual-server.d.ts.map