import { MiddlewareType, Run, RunContext } from '../../../context.js'; import { AnyTool } from '../../../tools/base.js'; import { E as Emitter, C as Callback } from '../../../emitter-kHxkUxco.js'; import { FrameworkError } from '../../../errors.js'; import { R as RequirementAgentRunState } from '../../../types-DYtzF6ya.js'; import '../../../internals/serializable.js'; import '../../../internals/types.js'; import '../../../internals/helpers/guards.js'; import '../../../internals/helpers/promise.js'; import 'ajv'; import 'promise-based-task'; import '../../../cache/base.js'; import '../../../internals/helpers/schema.js'; import 'zod'; import 'zod-to-json-schema'; import '../../../memory/base.js'; import '../../../backend/message.js'; import 'ai'; import '../../../template.js'; import '../../../chat-CfTNfR60.js'; import '../../../backend/constants.js'; import '../../../logger/logger.js'; import 'pino'; import '../../../base-BjzyQ8k6.js'; 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 };