import { OnInit } from '@angular/core'; import { I18nService } from '../../../services/i18n'; import { ButtonMetadata } from '../../types'; import * as i0 from "@angular/core"; export interface SelectSearchPickerProps { title: string; options: Record[]; valueProperty: string; labelProperty: string; multiple: boolean; /** Valores ya seleccionados (siempre array — un solo elemento si no es `multiple`). */ selectedValues: unknown[]; placeholder?: string; } /** * Picker de `val-select-search` / `val-multi-select-search` — full-screen en * mobile, card flotante en desktop (`ModalService.openAdaptive`, Regla #5). * Reemplaza el `ion-modal` con breakpoints que ambos componentes tenían * embebido: mismo bottom-sheet en cualquier tamaño de pantalla, sin el * tratamiento "card centrada" que el resto de los modales del factory ya usa. * * Selección simple: cierra al tocar un ítem (`dismiss({values:[v]}, 'selected')`). * Selección múltiple: acumula localmente, footer con "Aplicar" (Regla #5, * val-modal-layout con `actions`). */ export declare class SelectSearchPickerModalComponent implements OnInit { _modalRef?: { dismiss: (data?: unknown, role?: string) => void; }; readonly i18n: I18nService; /** Inyectado por `ModalService.openAdaptive({ componentProps })`. */ props: SelectSearchPickerProps; readonly query: import("@angular/core").WritableSignal; readonly selected: import("@angular/core").WritableSignal; ngOnInit(): void; readonly filteredItems: import("@angular/core").Signal[]>; readonly footerActions: import("@angular/core").Signal; isSelected(item: Record): boolean; toggle(item: Record): void; apply(): void; cancel(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }