/**
 * Build-time catalog of channels used by programmatic setup and
 * `eve channels add`.
 *
 * Channel *identity* (slug, name, and whether it is scaffoldable) is owned by
 * `@vercel/eve-catalog`, the cross-surface source of truth shared with the docs
 * gallery. This module overlays the scaffolder-only concerns — the internal
 * {@link ChannelKind} (the catalog's `eve` web-chat channel is surfaced to users
 * as `web`), the picker copy, and the picker order — and validates that the
 * overlay and the catalog cannot drift apart.
 */
import type { ChannelKind } from "./update/channels.js";
/** A catalog channel the CLI can scaffold, paired with its picker presentation. */
export interface ScaffoldableChannel {
    /** Catalog slug. */
    slug: string;
    /** Internal scaffolder kind passed to `ensureChannel`. */
    kind: ChannelKind;
    /** Picker label. */
    label: string;
    /** Optional picker hint. */
    hint?: string;
    /** The add sub-flow provisions against the linked Vercel project. */
    requiresVercelProject?: true;
}
/**
 * Channels the CLI can scaffold, in picker order. Derived from
 * `@vercel/eve-catalog` (`surfaces.scaffoldable`) overlaid with
 * {@link CHANNEL_SCAFFOLDS}. Throws at module load if the two disagree.
 */
export declare const SCAFFOLDABLE_CHANNELS: readonly ScaffoldableChannel[];
