/** * Configuration interface for the persona active indicator system. * Controls how persona information is displayed in AI responses. * * @interface IndicatorConfig * @example * ```typescript * const config: IndicatorConfig = { * enabled: true, * style: 'full', * showEmoji: true, * showName: true, * showVersion: true, * showAuthor: true, * showCategory: false, * separator: ' | ', * emoji: '🎭', * bracketStyle: 'square' * }; * ``` */ export interface IndicatorConfig { /** Whether to show the indicator at all */ enabled: boolean; /** Format style: 'full', 'minimal', 'compact', 'custom' */ style: 'full' | 'minimal' | 'compact' | 'custom'; /** * Custom format template (used when style is 'custom') * Available placeholders: {emoji}, {name}, {version}, {author}, {category} */ customFormat?: string; /** Whether to include specific elements */ showEmoji: boolean; showName: boolean; showVersion: boolean; showAuthor: boolean; showCategory: boolean; /** Separator between indicator and response */ separator: string; /** Emoji to use (defaults to 🎭) */ emoji: string; /** Bracket style: 'square', 'round', 'curly', 'angle', 'none' */ bracketStyle: 'square' | 'round' | 'curly' | 'angle' | 'none'; } export declare const DEFAULT_INDICATOR_CONFIG: IndicatorConfig; export declare const INDICATOR_STYLES: { full: string; minimal: string; compact: string; custom: string; }; export declare const BRACKETS: { square: { open: string; close: string; }; round: { open: string; close: string; }; curly: { open: string; close: string; }; angle: { open: string; close: string; }; none: { open: string; close: string; }; }; /** * Load indicator configuration from environment variables or use defaults. * Environment variables take precedence over default values. * * @returns {IndicatorConfig} The loaded configuration * @example * ```typescript * // Set environment variables before loading * process.env.DOLLHOUSE_INDICATOR_STYLE = 'minimal'; * process.env.DOLLHOUSE_INDICATOR_EMOJI = '🤖'; * * const config = loadIndicatorConfig(); * // config.style === 'minimal' * // config.emoji === '🤖' * ``` */ export declare function loadIndicatorConfig(): IndicatorConfig; /** * Validate custom format template for valid placeholders */ export declare function validateCustomFormat(format: string): { valid: boolean; error?: string; }; /** * Format the indicator based on configuration and persona metadata */ export declare function formatIndicator(config: IndicatorConfig, metadata: { name: string; version?: string; author?: string; category?: string; }): string; //# sourceMappingURL=indicator-config.d.ts.map