/** * QA360 Init Command - Interactive pack generator (v2) * * Usage: * qa360 init * qa360 init --template api-basic * qa360 init --output custom-pack.yml * qa360 init --beginner # Guided mode for first-time users */ export interface PackConfigV2 { version: 2; name: string; description?: string; profile?: string; auth?: AuthConfigV2; gates: Record; hooks?: HooksConfig; execution?: ExecutionConfigV2; variables?: Record; metadata?: Record; } export interface AuthConfigV2 { api?: string; ui?: string; profiles?: Record; } export interface AuthProfile { type: string; config: Record; cache?: { enabled?: boolean; ttl?: number; }; } export interface GateConfigV2 { adapter?: string; test_files?: string[]; config?: Record; auth?: string; budgets?: Record; options?: { timeout?: number; retries?: number; continue_on_failure?: boolean; }; enabled?: boolean; depends_on?: string[]; parallel?: boolean; } export interface HooksConfig { beforeAll?: Hook[]; afterAll?: Hook[]; beforeEach?: Hook[]; afterEach?: Hook[]; } export interface Hook { type: 'run' | 'wait_on' | 'script' | 'docker'; command?: string; cwd?: string; timeout?: number; env?: Record; wait_for?: { resource: string; timeout?: number; }; compose?: { file?: string; services?: string[]; command?: string; }; } export interface ExecutionConfigV2 { parallel?: boolean; max_concurrency?: number; default_timeout?: number; default_retries?: number; on_failure: 'stop' | 'continue' | 'proceed'; limits?: { cpu?: string; memory?: string; }; compose_file?: string; hook_timeout_ms?: number; } export interface InitOptions { template?: string; output?: string; force?: boolean; yes?: boolean; beginner?: boolean; } export declare const TEMPLATES: Record; export declare const GATE_DESCRIPTIONS: Record; export declare function initCommand(options?: InitOptions): Promise; export default initCommand;