import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { DownloadService } from '../../../services/download.service'; import { IconService } from '../../../services/icons.service'; import { NavigationService } from '../../../services/navigation'; import { ButtonMetadata } from '../../types'; import * as i0 from "@angular/core"; export declare class ButtonComponent implements OnInit, OnChanges { private download; private navigation; states: { ENABLED: "ENABLED"; DISABLED: "DISABLED"; WORKING: "WORKING"; ERROR: "ERROR"; }; private presets; /** * The text to display on the button. */ displayText: string; /** * Clases de tamaño del botón. * * `icon-only` se DERIVA de que no haya texto en vez de pedirse por prop: un * botón sin texto ya declaró todo lo que hacía falta saber, y una prop extra * solo agrega una forma de que alguien la olvide y el botón salga como cápsula * estirada. Ver la escala en button.component.scss. */ sizeClasses(): string[]; /** * `tint` no existe en Ionic — se renderiza como `clear` (sin fondo/borde * propios de Ionic) y la superficie tenue la aporta `.button-tint` en el * SCSS, vía la clase que agrega `sizeClasses()`. */ ionFill(): 'clear' | 'outline' | 'solid' | 'default' | undefined; /** * Preset name to apply. Presets define reusable button configurations * (size, color, fill, etc.) that can be registered at app level. * * @example * */ preset?: string; /** * Button configuration. Values here override preset values. * When using presets, only partial props are needed (preset provides defaults). */ props: Partial; /** * Resolved props after merging preset + explicit props. * Preset values are overridden by explicit props. */ resolvedProps: ButtonMetadata; /** * Event emitted when the button is clicked. */ onClick: EventEmitter; constructor(download: DownloadService, _icon: IconService, navigation: NavigationService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; /** * Merge preset configuration with explicit props. * Explicit props take precedence over preset values. */ private resolveProps; /** * Set up the text content based on the resolved props configuration. */ private setupDisplayText; /** * Interpolate placeholders in content with provided values. * Supports {{placeholder}} format. */ private interpolateContent; clickHandler(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }