/**
 * Edgio configuration file name.
 */
export declare const EDGIO_CONFIG_FILE = "edgio.config.js";
/**
 * Indicate asset files that need to be uploaded under a different
 * bucket key.
 * It contains values like
 * {
 *   '/posts' => '/posts/index.html'
 * }
 */
export declare const EDGIO_ASSET_ALIASES_FILE = "asset-aliases.json";
/**
 * Environment variables used by Edgio.
 */
export declare const EDGIO_ENV_VARIABLES: {
    /**
     * Edgio configuration environment variable key.
     */
    config: string;
    /**
     * Edgio internal configuration environment variable key.
     */
    internalConfig: string;
    /**
     * Indicates whether code is running locally or in the cloud.
     * @private
     */
    deploymentType: string;
    /**
     * Allows Edgio development team to easily override Edgio version
     * during development process.
     * @private
     */
    versionOverride: string;
    /**
     * Indicates that we are running a production build.
     * @private
     */
    productionBuild: string;
    /**
     * Indicates that we are running app locally.
     * @private
     */
    local: string;
    /**
     * Turns on the cache when set to 'true'.
     * @private
     */
    cache: string;
    /**
     * The hostname of currently used permalink.
     * @private
     */
    permalinkHost: string;
    /**
     * The image optimizer host.
     * This is same as the permalink host, but it's used for old image optimizer.
     * @deprecated This will be replaced by EDGIO_PERMALINK_HOST when console-api changes are released.
     * @private
     */
    imageOptimizerHost: string;
};
/**
 * Environment variables used by Edgio Edge Functions.
 */
export declare const EDGIO_EDGE_FUNCTION_ENV_VARIABLES: {
    /**
     * The path to the edge function within the project.
     */
    path: string;
    /**
     * The edge function's QuickJS bytecode (base64 encoded).
     */
    quickjsBytecodeBase64: string;
    /**
     * When 'enabled' turn on edge function debugging.
     */
    debug: string;
};
/**
 * The default version of edge functions to use.
 * @private
 */
export declare const EDGIO_EDGE_FUNCTION_DEFAULT_VERSION = 2;
/**
 * Indicates that code is running in AWS.
 * @private
 */
export declare const EDGIO_DEPLOYMENT_TYPE_AWS = "AWS";
/**
 * Prefix of all Edgio headers.
 */
export declare const EDGIO_HEADERS_PREFIX = "x-edg-";
/**
 * Instructs the runtime to forward the request directly to the user's app or a function rather than processing
 * edge-control rules.
 * @private
 */
export declare const EDGIO_CLOUD_FUNCTIONS_HINT_HEADER = "x-cloud-functions-hint";
/**
 * Instructs the runtime to forward the request directly one of the router's functions by hint name.
 * @private
 */
export declare const EDGIO_CLOUD_FUNCTIONS_HINTS: {
    readonly app: "app";
    readonly compute: "compute";
    readonly redirect: "redirect";
    readonly proxy: "proxy";
};
export type EdgioCloudFunctionsHint = (typeof EDGIO_CLOUD_FUNCTIONS_HINTS)[keyof typeof EDGIO_CLOUD_FUNCTIONS_HINTS];
/**
 * Maximum number of user headers allowed by Edgio platform.
 *
 * We limit the request and response headers allowed to 70. This is due to a limitation that edge has
 * which at the moment supports up to 96 headers. Edge provider itself needs to use some of those headers
 * with the remainder used by our edge code.
 *
 * NOTE: This constant must be equal ot the constant of the same name defined in Edgio buffer proxy.
 * NOTE: If this constant is updated then the constant of the same name has to be updated in @edgio/build-lambda module.
 */
export declare const EDGIO_MAX_USER_HEADERS_ALLOWED = 70;
/**
 * Status code returned when there are too many request or response headers.
 *
 * Must be equal to HeaderOverflowError status code as defined in build lambda and Edgio buffer proxy.
 */
export declare const EDGIO_TOO_MANY_HEADERS_STATUS_CODE = 542;
/**
 * The status code returned when the edgio_prefetch query param is present and a response could not be found in the cache.
 */
export declare const EDGIO_UNCACHED_PREFETCH_STATUS = 412;
/**
 * The maximum number of nested requests allowed by Edgio platform,
 * where a site is the upstream of itself or another site.
 * If this limit is exceeded, the request will be terminated with a 538 status code,
 * to prevent infinite loops and generating excessive traffic.
 */
export declare const EDGIO_MAX_NESTED_REQUESTS = 3;
/**
 * The value that is appended to the 'Via' header
 * everytime request goes through the @edgio/core.
 */
export declare const EDGIO_VIA_HEADER_VALUE = "Edgio Core";
/**
 * CDN-as-code configuration actions
 */
export declare const ACTIONS: {
    setHeader: string;
    updateHeader: string;
    removeHeader: string;
    syntheticRes: string;
    updatePath: string;
    proxy: string;
    addCookie: string;
    updateCookie: string;
    removeCookie: string;
};
/**
 * The backend for cloud functions
 */
export declare const BACKENDS: {
    js: string;
    static: string;
    permanentStatic: string;
    imageOptimizer: string;
};
/**
 * The hostname used for the internal service running the user's application.
 */
export declare const JS_BACKEND_HOSTNAME = "127.0.0.1";
export declare const HTTP_METHODS: {
    readonly head: "head";
    readonly get: "get";
    readonly post: "post";
    readonly delete: "delete";
    readonly put: "put";
    readonly patch: "patch";
    readonly options: "options";
};
export type HTTPMethod = (typeof HTTP_METHODS)[keyof typeof HTTP_METHODS];
/**
 * Common HTTP headers.
 */
export declare const HTTP_HEADERS: {
    readonly accept: "accept";
    readonly acceptCh: "accept-CH";
    readonly acceptEncoding: "accept-encoding";
    readonly authorization: "authorization";
    readonly cacheControl: "cache-control";
    readonly contentEncoding: "content-encoding";
    readonly contentLength: "content-length";
    readonly contentType: "content-type";
    readonly cookie: "cookie";
    readonly expires: "expires";
    readonly host: "host";
    readonly location: "location";
    readonly range: "range";
    readonly serverTiming: "server-timing";
    readonly setCookie: "set-cookie";
    readonly userAgent: "user-agent";
    readonly vary: "vary";
    readonly via: "via";
    readonly transferEncoding: "transfer-encoding";
    readonly strictTransportSecurity: "strict-transport-security";
    readonly referrerPolicy: "referrer-policy";
    readonly featurePolicy: "feature-policy";
    readonly xHost: "x-host";
    readonly xEcPop: "x-ec-pop";
    readonly xEcDebug: "x-ec-debug";
    readonly xForwardedFor: "x-forwarded-for";
    readonly xForwardedProto: "x-forwarded-proto";
    readonly xForwardedPort: "x-forwarded-port";
    readonly xFrameOptions: "x-frame-options";
    readonly xXssProtection: "x-xss-protection";
    readonly xContentTypeOptions: "x-content-type-options";
    readonly xRequestId: "x-request-id";
    readonly xSwCacheControl: "x-sw-cache-control";
    readonly xEdgeBrowser: "x-edg-browser";
    readonly xEdgeCacheControl: "x-edg-cache-control";
    readonly xEdgeCachingStatus: "x-edg-caching-status";
    readonly xEdgeClientIp: "x-edg-client-ip";
    readonly xEdgeComponents: "x-edg-components";
    readonly xEdgeDestination: "x-edg-destination";
    readonly xEdgeDevice: "x-edg-device";
    readonly xEdgeDeviceIsBot: "x-edg-device-is-bot";
    readonly xEdgeGeoCity: "x-edg-geo-city";
    readonly xEdgeGeoCountryCode: "x-edg-geo-country-code";
    readonly xEdgeGeoLatitude: "x-edg-geo-latitude";
    readonly xEdgeGeoLongitude: "x-edg-geo-longitude";
    readonly xEdgeGeoPostalCode: "x-edg-geo-postal-code";
    readonly xEdgeMatchedRoutes: "x-edg-matched-routes";
    readonly xEdgeProtocol: "x-edg-protocol";
    readonly xEdgeRoute: "x-edg-route";
    readonly xEdgeStatus: "x-edg-status";
    readonly xEdgeSurrogateKey: "x-edg-surrogate-key";
    readonly xEdgeT: "x-edg-t";
    readonly xEdgeUserT: "x-edg-user-t";
    readonly xEdgeVendor: "x-edg-vendor";
    readonly xEdgeVersion: "x-edg-version";
    readonly xEdgServerlessError: "x-edg-serverless-error";
    readonly xEdgInvokeSource: "x-edg-invoke-source";
    readonly xEdgInvokeAction: "x-edg-invoke-action";
    readonly xEdgErrorMessage: "x-edg-error-message";
    readonly xEdgErrorDetails: "x-edg-error-details";
    readonly xEdgErrorLevel: "x-edg-error-level";
    readonly xEdgRawUrl: "x-edg-raw-url";
    readonly xCloudFunctionsHint: "x-cloud-functions-hint";
    readonly x0ClientIp: "x-0-client-ip";
    readonly x0Protocol: "x-0-protocol";
    readonly x0Version: "x-0-version";
    readonly xEcEdgeIoDebug: "x-ec-edgeio-debug";
    readonly xEcEdgeIoDisable: "x-ec-edgeio-disable";
    readonly xEdgeIoInfo: "x-edgeio-info";
    readonly xEdgeIoStatus: "x-edgeio-status";
    readonly xEdgeIoError: "x-edgeio-error";
    readonly xEcUUID: "x-ec-uuid";
};
/**
 * Union type for HTTP_HEADERS values
 */
export type HttpHeaders = (typeof HTTP_HEADERS)[keyof typeof HTTP_HEADERS];
/**
 * Values for x-edg-caching-status
 */
export declare const CACHING_STATUS: {
    readonly cached: "cached";
    readonly hit: "hit";
    readonly bypassed: "bypassed";
    readonly private: "private";
    readonly method: "method";
    readonly bodyTooBig: "body-too-big";
    readonly code: "code";
    readonly setCookie: "set-cookie";
    readonly noMaxAge: "no-max-age";
};
export type CachingStatus = (typeof CACHING_STATUS)[keyof typeof CACHING_STATUS];
export declare const CACHEABLE_METHODS: Set<string>;
/**
 * Values for x-edg-caching-status
 */
export declare const CACHING_DEBUG_HEADERS: {
    cache: string;
    checkCacheable: string;
    cacheState: string;
    cacheKey: string;
};
export declare const CACHING_DEBUG_STATUS: {
    configNoCache: string;
    none: string;
    tcpClientRefreshMiss: string;
    tcpExpiredHit: string;
    tcpExpiredMiss: string;
    tcpHit: string;
    tcpMiss: string;
    tcpPartialHit: string;
    uncacheable: string;
};
export declare const CACHING_DEBUG_CACHEABLE: {
    yes: string;
    no: string;
};
/**
 * When present, this query parameter will cause Edgio to return a 412 status
 * if a response could not be found in the cache.
 */
export declare const THROTTLED_QUERY_PARAM = "edgio_prefetch";
/**
 * Same value as above but DEPRECATED.
 */
export declare const PREFETCH_QUERY_PARAM = "edgio_prefetch";
/**
 Adds query parameter with custom maxAgeSecond value for service-worker cache if it's specified in PrefetchConfiguration
 */
export declare const PREFETCH_TTL_PARAM = "edgio_prefetch_ttl";
/**
 Labels the request so that devtools will display as prefetched
 */
export declare const DEVTOOLS_PREFETCH_QUERY_PARAM = "edgio_dt_pf";
/**
 * The name of the query parameter used to detect HEAD requests.
 */
export declare const HEAD_QUERY_PARAM = "edgio_head";
/**
 * The name of the query parameter used for the body of POST requests, which is used for the cache key
 */
export declare const POST_BODY_QUERY_PARAM = "pref_edgio_body";
/**
 * The name of the query parameter used for the method of requests, which is used for the cache key
 */
export declare const METHOD_QUERY_PARAM = "pref_edgio_method";
/**
 * Route Group name, which is used in router for fallback routes
 */
export declare const ROUTES_FALLBACK = "fallback";
/**
 * Route Group name, which is used in router for error page routes
 */
export declare const ROUTES_CATCH_GROUP = "catch";
/**
 * Route Group name, which is used in router for noindex routes
 */
export declare const ROUTES_NOINDEX_GROUP = "noindex";
/**
 * Regex used to determine if the host should be excluded from
 * SE indexing
 */
export declare const HOSTS_NOINDEX_PERMALINK_REGEX: RegExp;
/**
 * The path where cache-manifest file is served by built-in rule.
 * Connascence of value with console-api/app/services/cache_manifest/constants.rb
 */
export declare const EDGIO_CACHE_MANIFEST_PATH = "/__edgio__/cache-manifest.js";
/**
 * The name of the JS global constant which contains the cache-manifest content
 * when cache-manifest is imported as a script to site.
 * Connascence of value with console-api/app/services/cache_manifest/constants.rb
 */
export declare const EDGIO_CACHE_MANIFEST_JS_VAR_NAME = "__EDGIO_CACHE_MANIFEST__";
/**
 * The base path of the URL where the install.js file of @edgio/prefetch is served from CDN.
 * Connascence of value with console-api/app/services/edge_control/internal_config.rb
 */
export declare const EDGIO_PREFETCH_CDN_BASE_PATH = "/__edgio__/prefetch";
/**
 * The path in express style where the install.js file of @edgio/prefetch is served from CDN.
 * Connascence of value with console-api/app/services/edge_control/internal_config.rb
 * @example /__edgio__/prefetch/install.js
 * @example /__edgio__/prefetch/v7.2.2/install.js
 */
export declare const EDGIO_PREFETCH_CDN_PATH: string;
/**
 * The path in express style where the service-worker file of @edgio/prefetch is served from CDN.
 * Connascence of value with console-api/app/services/edge_control/internal_config.rb
 * @example /__edgio__service_worker_v7.2.2.js
 */
export declare const EDGIO_PREFETCH_CDN_SW_PATH = "/__edgio__service_worker_:version.js";
/**
 * The value of cache-manifest rule comment which indicates that the rule should be ignored when
 * building cache-manifest by console-api. This allows customers to exclude certain rules from it.
 * We simulate it here in @edgio/core to provide the same experience in local simulation.
 * Connascence of value with console-api/app/services/cache_manifest/cache_manifest_builder.rb
 */
export declare const EDGIO_CACHE_MANIFEST_RULE_IGNORE_COMMENT = "cache-manifest-ignore";
/**
 * Is current environment 'browser'
 */
export declare const IS_BROWSER: boolean;
/**
 * Brotli encoding code.
 */
export declare const BROTLI_ENCODING = "br";
/**
 * Gzip encoding code.
 */
export declare const GZIP_ENCODING = "gzip";
/**
 * Deflate encoding code.
 */
export declare const DEFLATE_ENCODING = "deflate";
/**
 * One year in seconds
 */
export declare const FAR_FUTURE_TTL = "1y";
export declare const INVOKE_SOURCES: {
    readonly functionUrl: "function-url";
    readonly console: "console";
    readonly bufferProxy: "buffer-proxy";
};
export type InvokeSource = (typeof INVOKE_SOURCES)[keyof typeof INVOKE_SOURCES];
export declare const INVOKE_ACTIONS: {
    readonly getEdgeConfig: "getEdgeConfig";
    readonly getPreloadConfig: "getPreloadConfig";
    readonly serverless: "serverless";
    readonly simulator: "simulator";
};
export type InvokeAction = (typeof INVOKE_ACTIONS)[keyof typeof INVOKE_ACTIONS];
