import { type BaseCheckpointSaver } from '@langchain/langgraph';
import type { IAgentExecutor } from '../../../../application/ports/output/agents/agent-executor.interface.js';
export { FeatureAgentAnnotation, type FeatureAgentState } from './state.js';
/**
 * 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
 *
 * Each YAML-producing node is followed by a validate/repair loop that ensures
 * the output YAML conforms to its schema before proceeding.
 *
 * @param executor - The agent executor to delegate prompt execution to
 * @param checkpointer - Optional checkpoint saver for state persistence
 * @returns A compiled LangGraph ready to be invoked
 */
export declare function createFeatureAgentGraph(executor: IAgentExecutor, checkpointer?: BaseCheckpointSaver): import("@langchain/langgraph").CompiledStateGraph<{
    featureId: string;
    repositoryPath: string;
    specDir: string;
    worktreePath: string;
    currentNode: string;
    error: string | null;
    approvalGates: import("../../../../domain/generated/output.js").ApprovalGates | undefined;
    messages: string[];
    validationRetries: number;
    lastValidationTarget: string;
    lastValidationErrors: string[];
}, {
    featureId?: string | undefined;
    repositoryPath?: string | undefined;
    specDir?: string | undefined;
    worktreePath?: string | undefined;
    currentNode?: string | undefined;
    error?: string | null | undefined;
    approvalGates?: import("../../../../domain/generated/output.js").ApprovalGates | undefined;
    messages?: string[] | undefined;
    validationRetries?: number | undefined;
    lastValidationTarget?: string | undefined;
    lastValidationErrors?: string[] | undefined;
}, "__start__" | "analyze" | "requirements" | "plan" | "implement" | "research" | "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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
}, {
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
}, 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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
    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/generated/output.js").ApprovalGates | undefined, import("../../../../domain/generated/output.js").ApprovalGates | 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[]>;
    }>>;
}, unknown, unknown>;
//# sourceMappingURL=feature-agent-graph.d.ts.map