import { ComponentRef, OnChanges, OnInit, Type } from '@angular/core';
import { AudioComponent, ErrorComponent, ImageComponent, MailComponent, MonacoComponent, OfficeComponent, PdfComponent, TextComponent, VideoComponent, EInvoiceComponent } from '../components';
import { Metadata } from '../models/viewer.interfaces';
import { KeyTypes } from '../services';
import * as i0 from "@angular/core";
export type ComponentsType = Components | any;
export type Components = AudioComponent | VideoComponent | TextComponent | MailComponent | ErrorComponent | ImageComponent | MonacoComponent | PdfComponent | OfficeComponent | EInvoiceComponent;
export declare const componentsMapper: {
    [key in KeyTypes]: Type<ComponentsType>;
};
export declare class DynamicViewerDirective implements OnInit, OnChanges {
    #private;
    id: import("@angular/core").InputSignal<string>;
    type: import("@angular/core").InputSignalWithTransform<string, unknown>;
    src: import("@angular/core").InputSignal<string | null>;
    metadata: import("@angular/core").InputSignal<Metadata | null>;
    componentType: import("@angular/core").Signal<Uppercase<string>>;
    component: ComponentRef<Components>;
    isError: import("@angular/core").WritableSignal<boolean>;
    ngOnChanges(): void;
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicViewerDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicViewerDirective, "[yuvDynamicViewer]", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "type": { "alias": "type"; "required": true; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "metadata": { "alias": "metadata"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
