import { PresetConfig, ComponentPresets } from './types'; import * as i0 from "@angular/core"; /** * Servicio para gestionar presets de componentes. * * Los presets permiten definir configuraciones reutilizables * de componentes (tamaño, color, variante, etc.) que se pueden * aplicar con un nombre semántico. * * @example * // En un componente * presets = inject(PresetService); * * // Obtener preset * const buttonProps = this.presets.get('button', 'primary-action'); * // { size: 'large', color: 'primary', fill: 'solid' } */ export declare class PresetService { private readonly _presets; /** * Obtiene un preset específico para un componente * * @param component Tipo de componente (ej: 'button', 'card', 'input') * @param presetName Nombre del preset (ej: 'primary-action', 'compact') * @returns Propiedades del preset o objeto vacío si no existe * * @example * // Obtener preset de botón * const props = presets.get('button', 'primary-action'); * * // Usar en componente * */ get>(component: string, presetName: string): Partial; /** * Verifica si existe un preset */ has(component: string, presetName: string): boolean; /** * Registra presets de la aplicación * * @param presets Configuración de presets * * @example * presets.registerPresets({ * button: { * 'primary-action': { size: 'large', color: 'primary' }, * }, * card: { * 'feature': { variant: 'elevated' }, * } * }); */ registerPresets(presets: PresetConfig): void; /** * Agrega presets para un componente específico (merge con existentes) */ registerComponentPresets(component: string, presets: ComponentPresets): void; /** * Obtiene todos los nombres de presets para un componente */ getPresetNames(component: string): string[]; /** * Obtiene todos los componentes con presets registrados */ getRegisteredComponents(): string[]; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }