import { PrivacyConfig } from "./core/privacy.js";

//#region src/config.ts
const ContentMode = {
	FULL: "full",
	METADATA_ONLY: "metadata_only",
	CUSTOMER_ENRICHED: "customer_enriched"
};
/**
* Configuration for the Amplitude AI SDK.
*
* Controls content capture mode, PII redaction, debug output,
* and validation behavior.
*
* @example
* ```typescript
* const config = new AIConfig({
*   contentMode: ContentMode.METADATA_ONLY,
*   redactPii: true,
*   debug: true,
* });
* ```
*/
var AIConfig = class {
	contentMode;
	redactPii;
	customRedactionPatterns;
	customRedactionFn;
	onEventCallback;
	debug;
	dryRun;
	validate;
	propagateContext;
	captureStackTrace;
	constructor(options = {}) {
		this.contentMode = options.contentMode ?? ContentMode.FULL;
		this.redactPii = options.redactPii ?? true;
		this.customRedactionPatterns = options.customRedactionPatterns ?? [];
		this.customRedactionFn = options.customRedactionFn ?? null;
		this.onEventCallback = options.onEventCallback ?? null;
		this.debug = options.debug ?? false;
		this.dryRun = options.dryRun ?? false;
		this.validate = options.validate ?? false;
		this.propagateContext = options.propagateContext ?? false;
		this.captureStackTrace = options.captureStackTrace ?? false;
	}
	toPrivacyConfig() {
		return new PrivacyConfig({
			privacyMode: this.contentMode === ContentMode.METADATA_ONLY || this.contentMode === ContentMode.CUSTOMER_ENRICHED,
			redactPii: this.redactPii,
			customRedactionPatterns: this.customRedactionPatterns,
			customRedactionFn: this.customRedactionFn ?? void 0,
			contentMode: this.contentMode,
			validate: this.validate,
			debug: this.debug,
			captureStackTrace: this.captureStackTrace
		});
	}
};

//#endregion
export { AIConfig, ContentMode };
//# sourceMappingURL=config.js.map