import type { SpecStatus, SpecType, SpecScope, SpecTarget } from '../common.js';
import type { Actuals } from '../estimation.js';
import type { ProjectKnowledge } from '../project.js';
import type { Spec, ChecklistCategory, SpecDiagram, SpecSplitSuggestion, ReconcileChange } from './core.js';
export interface CreateSpecInput {
    title: string;
    description: string;
    projectPath: string;
    type?: SpecType;
    scope?: SpecScope;
    target?: SpecTarget;
    tags?: string[];
    feature?: string;
    clarificationSessionId?: string;
}
export interface UpdateStatusInput {
    specId: string;
    projectId: string;
    status: SpecStatus;
    actuals?: Actuals;
    autoCreateBranch?: boolean;
}
export interface SummarizeSpecInput {
    specId: string;
    projectId: string;
    format?: 'executive' | 'technical' | 'oneliner';
    experienceLevel?: 'beginner' | 'expert';
}
export interface GenerateChecklistInput {
    specId: string;
    projectId: string;
    focus?: ChecklistCategory[];
    experienceLevel?: 'beginner' | 'expert';
}
export interface ReconcileSpecInput {
    specId: string;
    projectId: string;
    autoDetect?: boolean;
    changes?: ReconcileChange[];
}
export interface ClarifyRequirementsInput {
    projectId: string;
    topic: string;
    context?: string;
    maxQuestions?: number;
    answers?: Record<string, string>;
    sessionId?: string;
}
export interface GenerateADRInput {
    specId: string;
    projectId: string;
    decisions?: string[];
}
export interface ChallengeSpecInput {
    specId: string;
    projectId: string;
    focus?: ('failures' | 'concurrency' | 'scale' | 'security' | 'data-consistency')[];
}
export interface CreateSpecResult {
    specId: string;
    huPath: string;
    fichaTecnicaPath: string;
    diagrams: SpecDiagram[];
    splitSuggestion?: SpecSplitSuggestion;
    message: string;
}
export type ChallengeSpecFocus = 'failures' | 'concurrency' | 'scale' | 'security' | 'data-consistency';
export type ScopeFilter = 'generate_adr' | 'design_schema' | 'define_ui_contract' | 'challenge_spec' | 'generate_execution_plan';
export interface ScopeFilterConfig {
    scope: SpecScope;
    filters: ScopeFilter[];
    allowManualOverride: boolean;
}
export interface SplitAnalysisInput {
    criteriaCount: number;
    moduleCount: number;
    estimatedHours: number;
    description: string;
    type: SpecType;
    scope: SpecScope;
    target: SpecTarget;
}
export interface MermaidGeneratorInput {
    spec: Spec;
    knowledge: ProjectKnowledge | null;
    hasDatabase: boolean;
    hasUi: boolean;
    hasTransitions: boolean;
}
export interface LayerNode {
    id: string;
    label: string;
}
export interface ListSpecsInput {
    projectId: string;
    status?: SpecStatus;
    type?: SpecType;
}
export interface SpecTemplate {
    id: string;
    name: string;
    description: string;
    type: string;
    sections: string[];
    source: 'built-in' | 'custom';
}
//# sourceMappingURL=inputs.d.ts.map