/** * @since 1.0.0 */ import type * as Effect from "effect/Effect"; import type { Inspectable } from "effect/Inspectable"; import type * as App from "./HttpApp.js"; import type * as Error from "./HttpServerError.js"; import type * as ServerRequest from "./HttpServerRequest.js"; /** * @since 1.0.0 * @category type ids */ export declare const TypeId: unique symbol; /** * @since 1.0.0 * @category type ids */ export type TypeId = typeof TypeId; /** * @since 1.0.0 * @category models */ export interface HttpMultiplex extends App.Default, Inspectable { readonly [TypeId]: TypeId; readonly apps: ReadonlyArray Effect.Effect, app: App.Default ]>; } /** * @since 1.0.0 * @category constructors */ export declare const empty: HttpMultiplex; /** * @since 1.0.0 * @category constructors */ export declare const make: (apps: Iterable Effect.Effect, app: App.Default ]>) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ export declare const add: { /** * @since 1.0.0 * @category combinators */ (predicate: (request: ServerRequest.HttpServerRequest) => Effect.Effect, app: App.Default): (self: HttpMultiplex) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ (self: HttpMultiplex, predicate: (request: ServerRequest.HttpServerRequest) => Effect.Effect, app: App.Default): HttpMultiplex; }; /** * @since 1.0.0 * @category combinators */ export declare const headerExact: { /** * @since 1.0.0 * @category combinators */ (header: string, value: string, app: App.Default): (self: HttpMultiplex) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ (self: HttpMultiplex, header: string, value: string, app: App.Default): HttpMultiplex; }; /** * @since 1.0.0 * @category combinators */ export declare const headerRegex: { /** * @since 1.0.0 * @category combinators */ (header: string, regex: RegExp, app: App.Default): (self: HttpMultiplex) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ (self: HttpMultiplex, header: string, regex: RegExp, app: App.Default): HttpMultiplex; }; /** * @since 1.0.0 * @category combinators */ export declare const headerStartsWith: { /** * @since 1.0.0 * @category combinators */ (header: string, prefix: string, app: App.Default): (self: HttpMultiplex) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ (self: HttpMultiplex, header: string, prefix: string, app: App.Default): HttpMultiplex; }; /** * @since 1.0.0 * @category combinators */ export declare const headerEndsWith: { /** * @since 1.0.0 * @category combinators */ (header: string, suffix: string, app: App.Default): (self: HttpMultiplex) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ (self: HttpMultiplex, header: string, suffix: string, app: App.Default): HttpMultiplex; }; /** * @since 1.0.0 * @category combinators */ export declare const hostExact: { /** * @since 1.0.0 * @category combinators */ (host: string, app: App.Default): (self: HttpMultiplex) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ (self: HttpMultiplex, host: string, app: App.Default): HttpMultiplex; }; /** * @since 1.0.0 * @category combinators */ export declare const hostRegex: { /** * @since 1.0.0 * @category combinators */ (regex: RegExp, app: App.Default): (self: HttpMultiplex) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ (self: HttpMultiplex, regex: RegExp, app: App.Default): HttpMultiplex; }; /** * @since 1.0.0 * @category combinators */ export declare const hostStartsWith: { /** * @since 1.0.0 * @category combinators */ (prefix: string, app: App.Default): (self: HttpMultiplex) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ (self: HttpMultiplex, prefix: string, app: App.Default): HttpMultiplex; }; /** * @since 1.0.0 * @category combinators */ export declare const hostEndsWith: { /** * @since 1.0.0 * @category combinators */ (suffix: string, app: App.Default): (self: HttpMultiplex) => HttpMultiplex; /** * @since 1.0.0 * @category combinators */ (self: HttpMultiplex, suffix: string, app: App.Default): HttpMultiplex; }; //# sourceMappingURL=HttpMultiplex.d.ts.map