import { Requirement, Rule } from './requirement.cjs'; import { TargetType, MultiTargetType } from './utils.cjs'; import { AnyTool } from '../../../tools/base.cjs'; import { RunContext } from '../../../context.cjs'; import { R as RequirementAgentRunState } from '../../../types-BNsa3W7Z.cjs'; import '../../../emitter-D4OcelZ9.cjs'; import '../../../internals/types.cjs'; import '../../../internals/helpers/guards.cjs'; import '../../../internals/serializable.cjs'; import '../../../errors.cjs'; import '../../../internals/helpers/promise.cjs'; import 'ajv'; import 'promise-based-task'; import '../../../cache/base.cjs'; import '../../../internals/helpers/schema.cjs'; import 'zod'; import 'zod-to-json-schema'; import '../../../memory/base.cjs'; import '../../../backend/message.cjs'; import 'ai'; import '../../../template.cjs'; import '../../../chat-C20nYj46.cjs'; import '../../../backend/constants.cjs'; import '../../../logger/logger.cjs'; import 'pino'; import '../../../base-s3ioVIE9.cjs'; /** * Copyright 2025 © BeeAI a Series of LF Projects, LLC * SPDX-License-Identifier: Apache-2.0 */ interface ConditionalRequirementOptions { name?: string; forceAtStep?: number; onlyBefore?: MultiTargetType; onlyAfter?: MultiTargetType; forceAfter?: MultiTargetType; forcePreventStop?: boolean; minInvocations?: number; maxInvocations?: number; onlySuccessInvocations?: boolean; consecutiveAllowed?: boolean; priority?: number; customChecks?: ((state: RequirementAgentRunState) => boolean)[]; enabled?: boolean; reason?: string; } declare class ConditionalRequirement extends Requirement { protected source: TargetType; protected sourceTool?: AnyTool; protected before: Set; protected after: Set; protected forceAfterSet: Set; protected minInvocations: number; protected maxInvocations: number; protected forceAtStepValue?: number; protected onlySuccessInvocations: boolean; protected consecutiveAllowedValue: boolean; protected customChecks: ((state: RequirementAgentRunState) => boolean)[]; protected forcePreventStop: boolean; protected reason?: string; constructor(target: TargetType, options?: ConditionalRequirementOptions); protected checkInvariant(): void; init(tools: AnyTool[], ctx: RunContext): Promise; reset(): this; _run(state: RequirementAgentRunState, _: RunContext): Promise; clone(): Promise; } export { ConditionalRequirement, type ConditionalRequirementOptions };