///
import { ReactElement } from 'react';
import { Stream } from 'xstream';
import { Transition } from './transition';
export declare type MountResponse = MountRender | MountRedirect;
export interface MountRender {
state: 'render';
/** Status code to return if running on a server (defaults to 200) */
status?: number;
/** Page title */
title: Stream;
/** Stream of dom values */
body?: Stream>;
}
export interface MountRedirect {
state: 'redirect';
/** Status code to return if running on a server (defaults to 301) */
status?: number;
/** Location to redirect to */
location: Transition<{}>;
}
/**
* Terminate the middleware sequence
*/
export declare function defaultResponse(): MountResponse;
export declare function mapResponse(fn: (r: MountRender) => MountResponse): (r: MountResponse) => MountResponse;