///
import type { EnvGetter } from '@builder.io/qwik-city/middleware/request-handler';
import { Http2ServerRequest } from 'http2';
import { IncomingMessage } from 'http';
import { NodeRequestNextFunction } from '@builder.io/qwik-city/middleware/node';
import type { QwikIntrinsicElements } from '@builder.io/qwik';
import type { QwikManifest } from '@builder.io/qwik/optimizer';
import type { RequestHandler } from '@builder.io/qwik-city/middleware/request-handler';
import type { ResolvedManifest } from '@builder.io/qwik/optimizer';
import type { ResolveSyncValue } from '@builder.io/qwik-city/middleware/request-handler';
import type { ServerQwikManifest } from '@builder.io/qwik/optimizer';
import type { ServerRenderOptions } from '@builder.io/qwik-city/middleware/request-handler';
import { ServerResponse } from 'http';
import type { SnapshotResult } from '@builder.io/qwik';
import type { StreamWriter } from '@builder.io/qwik';
import type { SymbolMapperFn } from '@builder.io/qwik/optimizer';
declare interface AwsOpt {
render: Render;
manifest?: QwikManifest;
qwikCityPlan: QwikCityPlan;
}
/** @public */
declare interface ContentHeading {
readonly text: string;
readonly id: string;
readonly level: number;
}
/** @public */
declare interface ContentMenu {
readonly text: string;
readonly href?: string;
readonly items?: ContentMenu[];
}
declare type ContentModule = PageModule | LayoutModule;
declare type ContentModuleHead = DocumentHead | ResolvedDocumentHead;
declare type ContentModuleLoader = () => Promise;
/** @public */
export declare function createQwikCity(opts: AwsOpt): {
fixPath: (pathT: string) => string;
router: (req: IncomingMessage | Http2ServerRequest, res: ServerResponse, next: NodeRequestNextFunction) => Promise;
staticFile: (req: IncomingMessage | Http2ServerRequest, res: ServerResponse, next: (e?: any) => void) => Promise;
notFound: (req: IncomingMessage | Http2ServerRequest, res: ServerResponse, next: (e: any) => void) => Promise;
handle: (req: any, res: any) => void;
};
/** @public */
declare type DocumentHead = DocumentHeadValue | ((props: DocumentHeadProps) => DocumentHeadValue);
/** @public */
declare interface DocumentHeadProps extends RouteLocation {
readonly head: ResolvedDocumentHead;
readonly withLocale: (fn: () => T) => T;
readonly resolveValue: ResolveSyncValue;
}
/** @public */
declare interface DocumentHeadValue = Record> {
/** Sets `document.title`. */
readonly title?: string;
/**
* Used to manually set meta tags in the head. Additionally, the `data` property could be used to
* set arbitrary data which the `` component could later use to generate `` tags.
*/
readonly meta?: readonly DocumentMeta[];
/** Used to manually append `` elements to the ``. */
readonly links?: readonly DocumentLink[];
/** Used to manually append `