import { type HttpPrincipal, type HttpContext } from "../../interface";
export interface HttpExchange {
    remoteAddress?: HttpExchangeRemoteAddress;
    protocol?: string;
    responseCode?: number;
    requestMethod?: string;
    localAddress?: HttpExchangeLocalAddress;
    requestURI?: string;
    principal?: HttpPrincipal;
    requestBody?: HttpExchangeRequestBody;
    requestHeaders?: HttpExchangeRequestHeaders;
    httpContext?: HttpContext;
    responseHeaders?: HttpExchangeResponseHeaders;
    responseBody?: HttpExchangeResponseBody;
}
export interface HttpExchangeRemoteAddress {
    address?: HttpExchangeRemoteAddressAddress;
    port?: number;
    unresolved?: boolean;
    hostName?: string;
    hostString?: string;
}
export interface HttpExchangeRemoteAddressAddress {
    canonicalHostName?: string;
    hostAddress?: string;
    address?: string;
    hostName?: string;
    linkLocalAddress?: boolean;
    multicastAddress?: boolean;
    anyLocalAddress?: boolean;
    loopbackAddress?: boolean;
    siteLocalAddress?: boolean;
    mcglobal?: boolean;
    mcnodeLocal?: boolean;
    mclinkLocal?: boolean;
    mcsiteLocal?: boolean;
    mcorgLocal?: boolean;
}
export interface HttpExchangeLocalAddress {
    address?: HttpExchangeLocalAddressAddress;
    port?: number;
    unresolved?: boolean;
    hostName?: string;
    hostString?: string;
}
export interface HttpExchangeLocalAddressAddress {
    canonicalHostName?: string;
    hostAddress?: string;
    address?: string;
    hostName?: string;
    linkLocalAddress?: boolean;
    multicastAddress?: boolean;
    anyLocalAddress?: boolean;
    loopbackAddress?: boolean;
    siteLocalAddress?: boolean;
    mcglobal?: boolean;
    mcnodeLocal?: boolean;
    mclinkLocal?: boolean;
    mcsiteLocal?: boolean;
    mcorgLocal?: boolean;
}
export interface HttpExchangeRequestBody {
}
export interface HttpExchangeRequestHeaders {
    empty?: boolean;
    [key: string]: any;
}
export interface HttpExchangeResponseHeaders {
    empty?: boolean;
    [key: string]: any;
}
export interface HttpExchangeResponseBody {
}
