/** * Specs Command Types * * Type definitions for the specifications list command. */ /** * Specs command options from Commander */ export interface SpecsOptions { /** Filter by status */ status?: SpecificationStatus; /** Output as JSON */ json?: boolean; /** Output as TOON format */ toon?: boolean; } /** * Valid specification statuses */ export type SpecificationStatus = 'draft' | 'planning' | 'specifying' | 'validating' | 'ready' | 'in_progress' | 'completed'; /** * All valid specification statuses */ export declare const VALID_STATUSES: SpecificationStatus[]; /** * Specification summary for list display */ export interface Specification { /** Specification ID */ id: string; /** Specification title */ title: string; /** Current status */ status: SpecificationStatus; /** Total number of tickets */ ticketCount: number; /** Number of completed tickets */ completedTicketCount: number; /** Specification description (optional) */ description?: string; } /** * API response for get_project */ export interface GetProjectApiResponse { /** Project ID */ id: string; /** Project name */ name: string; /** Project description */ description?: string; } /** * API response for list_specifications */ export interface ListSpecificationsApiResponse { /** Array of specifications */ specifications: Specification[]; /** Total count (for pagination) */ total?: number; } /** * Specs list response for output */ export interface SpecsListResponse { /** Project name for display */ project: string; /** Array of specifications */ specifications: Specification[]; /** Current specification ID (for marking) */ currentSpecId?: string; } /** * Table column configuration */ export interface SpecTableColumn { /** Column header */ header: string; /** Column width */ width?: number; /** Alignment */ align?: 'left' | 'right' | 'center'; } /** * Default table columns for specifications */ export declare const SPEC_TABLE_COLUMNS: SpecTableColumn[]; /** * Status display colors */ export declare const STATUS_COLORS: Record; /** * Current specification marker */ export declare const CURRENT_MARKER = "\u25B6 "; /** * ID truncation length */ export declare const ID_DISPLAY_LENGTH = 8; /** * Calculate progress percentage */ export declare function calculateProgress(completed: number, total: number): number; /** * Format progress for display */ export declare function formatProgress(completed: number, total: number): string; /** * Format a specification ID for display (truncated) */ export declare function formatSpecId(id: string): string; /** * Check if a specification is the current specification */ export declare function isCurrentSpec(spec: Specification, currentId?: string): boolean; /** * Validate status filter */ export declare function isValidStatus(status: string): status is SpecificationStatus; //# sourceMappingURL=specs.types.d.ts.map