import type { ExtensionAPI } from "@mariozechner/pi-coding-agent"; export declare const EXTENSION_ID = "pi-langfuse"; export interface SettingsValues { enabled: boolean; "public-key": string; "secret-key": string; "base-url": string; "user-id": string; "default-tags": string; release: string; environment: string; "trace-input-max-chars": number; "trace-output-max-chars": number; "tool-args-max-chars": number; "tool-output-max-chars": number; "capture-tool-progress": boolean; "capture-message-updates": boolean; } export declare const DEFAULT_SETTINGS: SettingsValues; export declare const SETTINGS_DOCUMENTATION = "# Langfuse settings\n\nThese settings control how the Langfuse extension connects to your Langfuse project.\n\n## Notes\n\n- Settings entered here are stored in plain text by pi-extension-settings.\n- If you prefer not to store keys here, keep using config.json or environment variables.\n- Resolution order is: settings panel -> config.json -> environment variables -> defaults.\n- When a setting is empty, this panel shows the live fallback value currently resolved from config.json, environment variables, or built-in defaults.\n- Tag lists are comma-separated.\n- Character limits are bounded to sensible minimums/maximums during config resolution.\n"; export declare function createSettingsNodes(defaults: SettingsValues): { readonly enabled: { readonly _tag: "boolean"; readonly label: "Enabled"; readonly description: "Enable Langfuse tracing."; readonly default: boolean; }; readonly "public-key": { readonly _tag: "text"; readonly label: "Public Key"; readonly description: "Langfuse public key. Empty means use config.json/env fallback shown here."; readonly default: string; }; readonly "secret-key": { readonly _tag: "text"; readonly label: "Secret Key"; readonly description: "Langfuse secret key. Empty means use config.json/env fallback shown here."; readonly default: string; }; readonly "base-url": { readonly _tag: "text"; readonly label: "Base URL"; readonly description: "Langfuse base URL. Empty means use config.json/env fallback shown here."; readonly default: string; }; readonly "user-id": { readonly _tag: "text"; readonly label: "User ID Override"; readonly description: "Optional fixed user ID. Empty means use config.json/env fallback shown here."; readonly default: string; }; readonly "default-tags": { readonly _tag: "text"; readonly label: "Default Tags"; readonly description: "Optional comma-separated tags added to every trace."; readonly default: string; }; readonly release: { readonly _tag: "text"; readonly label: "Release"; readonly description: "Optional release name/version (e.g. v1.0.0)."; readonly default: string; }; readonly environment: { readonly _tag: "text"; readonly label: "Environment"; readonly description: "Optional environment name (e.g. production, staging)."; readonly default: string; }; readonly "trace-input-max-chars": { readonly _tag: "number"; readonly label: "Trace Input Max Chars"; readonly description: "Maximum prompt/input characters recorded in Langfuse."; readonly default: number; }; readonly "trace-output-max-chars": { readonly _tag: "number"; readonly label: "Trace Output Max Chars"; readonly description: "Maximum assistant/output characters recorded in Langfuse."; readonly default: number; }; readonly "tool-args-max-chars": { readonly _tag: "number"; readonly label: "Tool Args Max Chars"; readonly description: "Maximum tool argument summary length recorded in Langfuse."; readonly default: number; }; readonly "tool-output-max-chars": { readonly _tag: "number"; readonly label: "Tool Output Max Chars"; readonly description: "Maximum tool output summary length recorded in Langfuse."; readonly default: number; }; readonly "capture-tool-progress": { readonly _tag: "boolean"; readonly label: "Capture Tool Progress"; readonly description: "Record partial tool_execution_update output in Langfuse."; readonly default: boolean; }; readonly "capture-message-updates": { readonly _tag: "boolean"; readonly label: "Capture Message Updates"; readonly description: "Reserved for future streaming assistant update capture. Currently stored but not used."; readonly default: boolean; }; }; export declare function getStoredSettingsValues(pi?: ExtensionAPI): Partial; export declare function getSettingsValues(pi?: ExtensionAPI): SettingsValues; export declare function setSettingsValues(nextValues: Partial): void; export declare function registerSettings(pi: ExtensionAPI, defaults?: SettingsValues): void; //# sourceMappingURL=settings.d.ts.map