import { BaseChatModel, type BaseChatModelParams } from "@langchain/core/language_models/chat_models"; import type { ArcjetSensitiveInfoType, RedactOptions } from "@arcjet/redact"; import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager"; import { BaseMessage } from "@langchain/core/messages"; import { ChatResult } from "@langchain/core/outputs"; type DetectSensitiveInfoEntities = (tokens: string[]) => Array; type ValidEntities = Array ? ArcjetSensitiveInfoType | CustomEntities : never>; export interface ArcjetRedactOptions extends BaseChatModelParams { chatModel: BaseChatModel; entities?: ValidEntities; contextWindowSize?: number; detect?: Detect; replace?: (entity: ValidEntities[number]) => string | undefined; } export type { ArcjetSensitiveInfoType, RedactOptions }; export declare class ArcjetRedact | undefined, CustomEntities extends string> extends BaseChatModel { static lc_name(): string; chatModel: BaseChatModel; entities?: ValidEntities; contextWindowSize?: number; detect?: Detect; replace?: (entity: ValidEntities[number]) => string | undefined; index: number; constructor(options: ArcjetRedactOptions); _createUniqueReplacement(entity: ValidEntities[number]): string; _llmType(): string; _generate(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun | undefined): Promise; }