import { MiddlewareType, Run, RunContext } from '../../../context.cjs'; import { AnyTool } from '../../../tools/base.cjs'; import { E as Emitter, C as Callback } from '../../../emitter-D4OcelZ9.cjs'; import { FrameworkError } from '../../../errors.cjs'; import { R as RequirementAgentRunState } from '../../../types-BNsa3W7Z.cjs'; import '../../../internals/serializable.cjs'; import '../../../internals/types.cjs'; import '../../../internals/helpers/guards.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'; interface Rule { target: string; allowed: boolean; reason?: string; preventStop: boolean; forced: boolean; hidden: boolean; } declare abstract class Requirement { name: string; state: Record; enabled: boolean; middlewares: MiddlewareType[]; protected _priority: number; constructor(name?: string); get priority(): number; set priority(value: number); get emitter(): Emitter; run(state: RequirementAgentRunState): Run; abstract _run(state: RequirementAgentRunState, _: RunContext): Promise; init(tools: AnyTool[], _: RunContext): Promise; clone(): Promise; } declare class RequirementError extends FrameworkError { readonly requirement?: Requirement | undefined; constructor(message: string, requirement?: Requirement | undefined, cause?: Error, context?: Record); } interface RequirementCallbacks { init: Callback<{ tools: AnyTool[]; }>; } export { Requirement, type RequirementCallbacks, RequirementError, type Rule };