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; /** * 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; }