import * as i0 from '@angular/core';
import { inject, TemplateRef, Directive, Input, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

/**
 * @description Diretiva estrutural que marca um `<ng-template>` com um alias nomeado,
 * permitindo que componentes pai identifiquem e projetem templates específicos por nome.
 *
 * @example
 * ```html
 * <ng-template sTemplate="header">Conteúdo do cabeçalho</ng-template>
 * ```
 *
 * @category Shared
 */
class TemplateDirective {
    /** @description Nome (alias) que identifica o template nomeado. Utilizado como valor do atributo `sTemplate`. */
    type;
    template = inject((TemplateRef));
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
    static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TemplateDirective, isStandalone: true, selector: "[sTemplate]", inputs: { type: ["sTemplate", "type"] }, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TemplateDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[sTemplate]',
                    standalone: true,
                }]
        }], propDecorators: { type: [{
                type: Input,
                args: [{
                        alias: 'sTemplate',
                        required: true,
                    }]
            }] } });

class TemplateModule {
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TemplateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
    static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TemplateModule, imports: [CommonModule, TemplateDirective], exports: [TemplateDirective] });
    static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TemplateModule, imports: [CommonModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TemplateModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [CommonModule, TemplateDirective],
                    exports: [TemplateDirective],
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { TemplateDirective, TemplateModule };
//# sourceMappingURL=seniorsistemas-angular-components-template.mjs.map
