#!/usr/bin/env node
/**
 * @module cli/init
 * One-line CLI setup for XBind connections.
 *
 * Enables: npx xbind-init --invite <code>
 *
 * Flow:
 * 1. Parse invite URL or code
 * 2. Fetch invite details from registry server
 * 3. Interactive prompts for: project name, runtime, TypeScript vs JavaScript
 * 4. Generate project directory with template files
 * 5. Install dependencies
 * 6. Write .env file with XBIND_INVITE_CODE
 * 7. Register with XBind registry (auto-accept flow)
 * 8. Print success message with next steps
 *
 * @example
 * ```bash
 * npx xbind-init --invite https://xbind.to/invite/XBD-abc123
 *
 * # Prompts:
 * # → Project name: my-xbind-app
 * # → Runtime: node-typescript
 * # Creating project...
 * # Installing dependencies...
 * # Registering with XBind...
 * # ✅ Ready! Run: cd my-xbind-app && npm start
 * ```
 */
/**
 * Runtime template types.
 */
export type RuntimeTemplate = 'node-typescript' | 'node-javascript' | 'deno' | 'cloudflare-worker' | 'vercel-function';
/**
 * Init command options.
 */
export interface InitOptions {
    /** Invite URL or code */
    invite?: string;
    /** Project name */
    name?: string;
    /** Runtime template */
    runtime?: RuntimeTemplate;
    /** Skip interactive prompts */
    yes?: boolean;
    /** Registry URL (default: https://xbind.to) */
    registryUrl?: string;
    /** Registry URL (kebab-case for CLI parsing) - same as registryUrl */
    'registry-url'?: string;
}
/**
 * Main init command.
 *
 * @param options - Init options
 */
export declare function initCommand(options?: InitOptions): Promise<void>;
/**
 * CLI entry point.
 *
 * @param argv - Command-line arguments
 */
export declare function main(argv?: string[]): Promise<void>;
