import { Logger } from '../Logger.js'; import { LogStyles, SpacingType } from '../types/index.js'; /** * Fluent API builder for log styling with semantic methods */ export declare class LogStyleBuilder { private logStyles; private logger; constructor(logger: Logger); /** * Configure timestamp styling */ timestamp(): TimestampStyleBuilderProxy; /** * Configure level badge styling */ level(): LevelStyleBuilderProxy; /** * Configure prefix styling */ prefix(): PrefixStyleBuilderProxy; /** * Configure message text styling */ message(): MessageStyleBuilderProxy; /** * Configure location info styling */ location(): LocationStyleBuilderProxy; /** * Use a predefined preset */ usePreset(presetName: string): LogStyleBuilder; /** * Customize with partial configuration */ customize(overrides: Partial): LogStyleBuilder; /** * Set layout spacing */ spacing(type: SpacingType): LogStyleBuilder; /** * Set backdrop filter for glassmorphism effects */ backdrop(filter: string): LogStyleBuilder; /** * Set overall transparency */ transparency(value: number): LogStyleBuilder; /** * Apply the configured styles to the logger */ apply(): void; /** * Get current configuration (for debugging) */ getConfig(): LogStyles; /** * Internal method to update part configuration */ _updatePartConfig(part: keyof LogStyles, styles: string): void; } /** * Base proxy class for part-specific styling */ declare abstract class PartStyleBuilderProxy { protected parentBuilder: LogStyleBuilder; protected partName: keyof LogStyles; constructor(parentBuilder: LogStyleBuilder, partName: keyof LogStyles); /** * Return to the main builder for chaining other parts */ and(): LogStyleBuilder; /** * Apply styles and finish configuration */ apply(): void; /** * Helper to apply styles to the parent builder */ protected applyStyles(styler: any): this; } /** * Timestamp styling proxy with fluent API */ declare class TimestampStyleBuilderProxy extends PartStyleBuilderProxy { constructor(parentBuilder: LogStyleBuilder); default(): TimestampStyleBuilderProxy; hidden(): TimestampStyleBuilderProxy; minimal(): TimestampStyleBuilderProxy; muted(): TimestampStyleBuilderProxy; mono(): TimestampStyleBuilderProxy; compact(): TimestampStyleBuilderProxy; } /** * Level badge styling proxy with fluent API */ declare class LevelStyleBuilderProxy extends PartStyleBuilderProxy { constructor(parentBuilder: LogStyleBuilder); badge(): LevelStyleBuilderProxy; gradient(from?: string, to?: string): LevelStyleBuilderProxy; glowing(): LevelStyleBuilderProxy; flat(): LevelStyleBuilderProxy; bold(): LevelStyleBuilderProxy; uppercase(): LevelStyleBuilderProxy; neon(): LevelStyleBuilderProxy; } /** * Prefix styling proxy with fluent API */ declare class PrefixStyleBuilderProxy extends PartStyleBuilderProxy { constructor(parentBuilder: LogStyleBuilder); dark(): PrefixStyleBuilderProxy; light(): PrefixStyleBuilderProxy; compact(): PrefixStyleBuilderProxy; muted(): PrefixStyleBuilderProxy; mono(): PrefixStyleBuilderProxy; } /** * Message styling proxy with fluent API */ declare class MessageStyleBuilderProxy extends PartStyleBuilderProxy { constructor(parentBuilder: LogStyleBuilder); readable(): MessageStyleBuilderProxy; code(): MessageStyleBuilderProxy; large(): MessageStyleBuilderProxy; system(): MessageStyleBuilderProxy; mono(): MessageStyleBuilderProxy; } /** * Location styling proxy with fluent API */ declare class LocationStyleBuilderProxy extends PartStyleBuilderProxy { constructor(parentBuilder: LogStyleBuilder); subtle(): LocationStyleBuilderProxy; hidden(): LocationStyleBuilderProxy; clickable(): LocationStyleBuilderProxy; muted(): LocationStyleBuilderProxy; mono(): LocationStyleBuilderProxy; } /** * Create a new LogStyleBuilder instance */ export declare function createLogStyleBuilder(logger: Logger): LogStyleBuilder; export {}; //# sourceMappingURL=LogStyleBuilder.d.ts.map