import type { Nitro } from "nitro/types";
import type { NormalizedChannelCorsOptions } from "#channel/cors.js";
import type { ChannelRouteMethod } from "#public/definitions/channel.js";
import type { NitroArtifactsConfig } from "#internal/nitro/routes/runtime-artifacts.js";
import type { PreparedApplicationHost } from "#internal/nitro/host/types.js";
interface ChannelRouteNitro {
    readonly options: Pick<Nitro["options"], "handlers" | "virtual">;
}
/**
 * One Nitro route registration for an eve channel.
 */
export interface NitroChannelRouteRegistration {
    readonly method: ChannelRouteMethod;
    readonly route: string;
    readonly cors?: NormalizedChannelCorsOptions;
}
/**
 * Computes the merged set of channel routes the Nitro host should mount.
 */
export declare function computeChannelRouteRegistrations(preparedHost: PreparedApplicationHost): readonly NitroChannelRouteRegistration[];
/**
 * Registers virtual Nitro handlers for the provided eve channel routes.
 */
export declare function registerChannelVirtualHandlers(nitro: Pick<ChannelRouteNitro, "options">, input: {
    readonly artifactsConfig: NitroArtifactsConfig;
    readonly registrations: readonly NitroChannelRouteRegistration[];
}): void;
export {};
