import { LLM, BaseLLM, type BaseLLMCallOptions } from "@langchain/core/language_models/llms"; import type { ArcjetSensitiveInfoType, RedactOptions } from "@arcjet/redact"; type DetectSensitiveInfoEntities = (tokens: string[]) => Array; type ValidEntities = Array ? ArcjetSensitiveInfoType | CustomEntities : never>; export type { ArcjetSensitiveInfoType, RedactOptions }; export interface ArcjetRedactOptions extends BaseLLMCallOptions { llm: BaseLLM; entities?: ValidEntities; contextWindowSize?: number; detect?: Detect; replace?: (entity: ValidEntities[number]) => string | undefined; } export declare class ArcjetRedact | undefined, CustomEntities extends string> extends LLM { static lc_name(): string; llm: BaseLLM; entities?: ValidEntities; contextWindowSize?: number; detect?: Detect; replace?: (entity: ValidEntities[number]) => string | undefined; constructor(options: ArcjetRedactOptions); _llmType(): string; _call(input: string, options?: BaseLLMCallOptions): Promise; }