import { EventEmitter } from '@angular/core';
import { QrResult } from '../../../services/qr-generator/types';
import { ShareEvent } from '../../molecules/share-buttons/types';
import { ShareProfileModalMetadata } from './types';
import * as i0 from "@angular/core";
/**
 * `val-share-profile-modal` — modal reutilizable para compartir un perfil (o
 * cualquier entidad) vía QR + URL. Sigue la Regla #5 (header canónico vía
 * `val-modal-shell`).
 *
 * Self-contained: genera el QR con `QrGeneratorService` a partir de `url` al
 * abrirse. El padre solo controla `[isOpen]` y reacciona a `(dismissed)`.
 *
 * @example
 * ```html
 * <val-share-profile-modal
 *   [isOpen]="isOpen()"
 *   [props]="{ name: 'Víctor Valenzuela', url: 'https://app.myvaltech.com/u/victor', avatarUrl: '/me.jpg' }"
 *   (dismissed)="isOpen.set(false)"
 * />
 * ```
 */
export declare class ShareProfileModalComponent {
    private qrGenerator;
    private i18n;
    private _isOpen;
    /** Controla la visibilidad. Al pasar de cerrado a abierto genera el QR. */
    set isOpen(value: boolean);
    get isOpen(): boolean;
    /** Configuración del modal. */
    props: Partial<ShareProfileModalMetadata>;
    /** Emite cuando el user cierra el modal (botón Cerrar o backdrop). */
    dismissed: EventEmitter<void>;
    /** Emite al completar una acción de compartir. */
    shared: EventEmitter<ShareEvent>;
    private readonly _qr;
    readonly qr: import("@angular/core").Signal<QrResult>;
    private readonly _qrError;
    readonly qrError: import("@angular/core").Signal<boolean>;
    config: import("@angular/core").Signal<ShareProfileModalMetadata & Required<Pick<ShareProfileModalMetadata, "platforms" | "qrTheme" | "qrSize">>>;
    displayName: import("@angular/core").Signal<string>;
    caption: import("@angular/core").Signal<string>;
    constructor();
    private t;
    private generateQr;
    close(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ShareProfileModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ShareProfileModalComponent, "val-share-profile-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "props": { "alias": "props"; "required": false; }; }, { "dismissed": "dismissed"; "shared": "shared"; }, never, never, true, never>;
}
