/** Supported external import sources */
export type ImportSource = 'markdown' | 'csv';
/** Parsed data extracted from an external source before spec creation */
export interface ImportedSpec {
    /** Title derived from the external source */
    title: string;
    /** Description / body */
    description: string;
    /** Acceptance criteria lines */
    criteria: string[];
    /** Tags / labels */
    tags: string[];
    /** Source system identifier (e.g. Jira issue key, Linear issue ID) */
    externalId?: string;
    /** Story points / estimate (hours) from source */
    estimateHours?: number;
    /** Status string from source (informational only) */
    externalStatus?: string;
}
/** Result of a single spec import operation */
export interface ImportResult {
    /** Whether the import succeeded */
    success: boolean;
    /** Created spec ID (SPEC-NNN) */
    specId?: string;
    /** Title of the imported spec */
    title?: string;
    /** The external ID from the source */
    externalId?: string;
    /** Error message when success = false */
    error?: string;
    /** True when an existing spec was overwritten */
    overwritten?: boolean;
    /** Warning when a duplicate was found but overwrite was false */
    warning?: string;
}
/** Input for the import_spec tool */
export interface ImportSpecInput {
    /** External source format */
    source: ImportSource;
    /** Absolute path to the source file (markdown or csv) */
    filePath?: string;
    /** Inline content string (alternative to filePath) */
    content?: string;
    /** Absolute path to the target project root */
    projectPath: string;
    /** Overwrite existing spec with same title when true (default: false) */
    overwrite?: boolean;
}
/** Input for the bulk_import tool */
export interface BulkImportInput {
    /** External source format */
    source: ImportSource;
    /** Absolute path to source file (CSV or multi-spec file) */
    filePath?: string;
    /** Inline content string */
    content?: string;
    /** Absolute path to the target project root */
    projectPath: string;
    /** Overwrite existing specs with same title (default: false) */
    overwrite?: boolean;
}
/** Aggregated result for bulk_import */
export interface BulkImportResult {
    total: number;
    succeeded: number;
    failed: number;
    results: ImportResult[];
}
/** Minimal shape of a Jira issue JSON (API or export format) */
export interface JiraIssueShape {
    key?: string;
    id?: string;
    fields?: {
        summary?: string;
        description?: string | JiraDocShape;
        labels?: string[];
        story_points?: number;
        customfield_10016?: number;
        customfield_10028?: number;
        customfield_10014?: string;
        acceptance_criteria?: string;
    };
    summary?: string;
    description?: string;
    labels?: string[];
}
/** Atlassian Document Format document */
export interface JiraDocShape {
    type?: string;
    content?: JiraDocNodeShape[];
}
/** Atlassian Document Format node */
export interface JiraDocNodeShape {
    type?: string;
    text?: string;
    content?: JiraDocNodeShape[];
}
/** Minimal shape of a Linear issue JSON */
export interface LinearIssueShape {
    id?: string;
    identifier?: string;
    title?: string;
    description?: string;
    estimate?: number;
    labels?: LinearLabelShape[] | {
        nodes?: LinearLabelShape[];
    };
    team?: unknown;
    state?: {
        name?: string;
    };
}
/** A Linear label object */
export interface LinearLabelShape {
    name?: string;
}
/** Result of extracting criteria from a Linear description */
export interface LinearDescriptionParsed {
    body: string;
    criteria: string[];
}
//# sourceMappingURL=import-spec.d.ts.map