import { type BaseCheckpointSaver } from '@langchain/langgraph';
import type { IAgentExecutor } from '../../../../application/ports/output/agents/agent-executor.interface.js';
import { type MergeNodeDeps } from './nodes/merge/merge.node.js';
export { FeatureAgentAnnotation, type FeatureAgentState } from './state.js';
/**
 * Dependencies needed to build the feature agent graph.
 * Injected by the worker so the graph factory stays testable.
 */
export interface FeatureAgentGraphDeps {
    executor: IAgentExecutor;
    mergeNodeDeps?: Omit<MergeNodeDeps, 'executor'>;
}
/**
 * Factory function that creates and compiles the feature-agent LangGraph.
 *
 * The graph defines a linear SDLC workflow with validation gates:
 *   analyze → validate → requirements → validate → research → validate → plan → validate → implement (+ evidence sub-agent) → merge
 *
 * Each YAML-producing node is followed by a validate/repair loop that ensures
 * the output YAML conforms to its schema before proceeding.
 *
 * @param depsOrExecutor - Graph dependencies or a legacy executor
 * @param checkpointer - Optional checkpoint saver for state persistence
 * @returns A compiled LangGraph ready to be invoked
 */
export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGraphDeps | IAgentExecutor, checkpointer?: BaseCheckpointSaver): import("@langchain/langgraph").CompiledStateGraph<{
    featureId: string;
    repositoryPath: string;
    specDir: string;
    worktreePath: string;
    currentNode: string;
    error: string | null;
    approvalGates: import("../../../../domain/index.js").ApprovalGates | undefined;
    model: string | undefined;
    messages: string[];
    validationRetries: number;
    lastValidationTarget: string;
    lastValidationErrors: string[];
    _approvalAction: string | null;
    _rejectionFeedback: string | null;
    _needsReexecution: boolean;
    prUrl: string | null;
    prNumber: number | null;
    commitHash: string | null;
    ciStatus: string | null;
    push: boolean;
    openPr: boolean;
    forkAndPr: boolean;
    commitSpecs: boolean;
    ciWatchEnabled: boolean;
    enableEvidence: boolean;
    commitEvidence: boolean;
    evidence: import("../../../../domain/index.js").Evidence[];
    evidenceRetries: number;
    resumeReason: string | undefined;
    ciFixAttempts: number;
    ciFixHistory: import("../../../../domain/index.js").CiFixRecord[];
    ciFixStatus: "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted";
}, {
    featureId?: string | undefined;
    repositoryPath?: string | undefined;
    specDir?: string | undefined;
    worktreePath?: string | undefined;
    currentNode?: string | undefined;
    error?: string | null | undefined;
    approvalGates?: import("../../../../domain/index.js").ApprovalGates | undefined;
    model?: string | undefined;
    messages?: string[] | undefined;
    validationRetries?: number | undefined;
    lastValidationTarget?: string | undefined;
    lastValidationErrors?: string[] | undefined;
    _approvalAction?: string | null | undefined;
    _rejectionFeedback?: string | null | undefined;
    _needsReexecution?: boolean | undefined;
    prUrl?: string | null | undefined;
    prNumber?: number | null | undefined;
    commitHash?: string | null | undefined;
    ciStatus?: string | null | undefined;
    push?: boolean | undefined;
    openPr?: boolean | undefined;
    forkAndPr?: boolean | undefined;
    commitSpecs?: boolean | undefined;
    ciWatchEnabled?: boolean | undefined;
    enableEvidence?: boolean | undefined;
    commitEvidence?: boolean | undefined;
    evidence?: import("../../../../domain/index.js").Evidence[] | undefined;
    evidenceRetries?: number | undefined;
    resumeReason?: string | undefined;
    ciFixAttempts?: number | undefined;
    ciFixHistory?: import("../../../../domain/index.js").CiFixRecord[] | undefined;
    ciFixStatus?: "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted" | undefined;
}, "analyze" | "requirements" | "research" | "plan" | "implement" | "__start__" | "validate_spec_analyze" | "validate_spec_requirements" | "validate_research" | "validate_plan_tasks" | "repair_spec_analyze" | "repair_spec_requirements" | "repair_research" | "repair_plan_tasks", {
    featureId: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    repositoryPath: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    specDir: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    worktreePath: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    currentNode: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
    model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
    messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
    validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
    lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
    lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
    _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
    commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
    evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
    resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
    ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
    ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
    ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
}, {
    featureId: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    repositoryPath: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    specDir: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    worktreePath: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    currentNode: {
        (): import("@langchain/langgraph").LastValue<string>;
        (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
    };
    error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
    model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
    messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
    validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
    lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
    lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
    _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
    commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
    push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
    evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
    evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
    resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
    ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
    ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
    ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
}, import("@langchain/langgraph").StateDefinition, {
    analyze: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    requirements: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    research: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    plan: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    implement: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    validate_spec_analyze: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    validate_spec_requirements: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    validate_research: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    validate_plan_tasks: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    repair_spec_analyze: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    repair_spec_requirements: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    repair_research: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
    repair_plan_tasks: Partial<import("@langchain/langgraph").StateType<{
        featureId: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        repositoryPath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        specDir: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        worktreePath: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        currentNode: {
            (): import("@langchain/langgraph").LastValue<string>;
            (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
            Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
        };
        error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
        model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
        lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
        _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
        commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
        push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
        evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
        evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
        ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
        ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
        ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
    }>>;
}, unknown, unknown>;
//# sourceMappingURL=feature-agent-graph.d.ts.map