#!/usr/bin/env node
/**
 * @module cli/setup
 * xBind setup command - creates deployment identity.
 *
 * Flow:
 * 1. Check if identity exists (~/.xbind/identity.json)
 * 2. Prompt for service name and email
 * 3. Generate DID (did:key format, Ed25519)
 * 4. Generate DeploymentID (DEP-YYYYMM-XXXXXXXXXX)
 * 5. Create account on server (POST /auth/signup)
 * 6. Send email verification code (6-digit)
 * 7. Prompt user to enter code
 * 8. Verify code on server
 * 9. Store identity locally
 * 10. Display success message
 *
 * @example
 * ```bash
 * npx xbind setup --name my-service
 * # → Prompts for email
 * # → Generates DID + DeploymentID
 * # → Creates server account
 * # → Sends verification email
 * # → Prompts for 6-digit code
 * # → Saves to ~/.xbind/identity.json
 * ```
 */
import type { GlobalOptions } from './types.js';
/**
 * Setup command options.
 */
export interface SetupOptions extends GlobalOptions {
    /** Service name (default: xbind-<timestamp>) */
    name?: string;
    /** Email address for account */
    email?: string;
    /** Display QR code for mobile pairing */
    pair?: boolean;
    /** Overwrite existing identity */
    force?: boolean;
    /** Server API URL (default: http://localhost:3001) */
    'api-url'?: string;
}
/**
 * Main setup command.
 */
export declare function setupCommand(options?: SetupOptions): Promise<void>;
/**
 * CLI entry point.
 */
export declare function main(argv?: string[]): Promise<void>;
