import type { ApprovalGates, CiFixRecord, Evidence } from '../../../../domain/generated/output.js';
/**
 * State annotation for the feature-agent graph.
 *
 * Uses LangGraph's Annotation API to define state channels.
 * The `messages` channel uses a reducer to accumulate messages
 * from all nodes as the graph executes.
 */
export declare const FeatureAgentAnnotation: import("@langchain/langgraph").AnnotationRoot<{
    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<ApprovalGates | undefined, 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<Evidence[], 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<CiFixRecord[], CiFixRecord[]>;
    ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
}>;
export type FeatureAgentState = typeof FeatureAgentAnnotation.State;
//# sourceMappingURL=state.d.ts.map