/**
 * This directive is used to set custom template partial for an item and maintains separate scope for each item.
 * This takes two inputs
 *      1) template partial name as wmItemTemplate
 *      2) item object as userComponentParams
 * Example: Providing a custom template for the search/autocomplete widget (customized UI in the dropdown for each item)
 * Add this directive to the li tag and provide item object and partial name like below. And also provide partialContainer and partial-container-target to render the partial.
 * <li #liElements *ngFor="let match of matches" [wmItemTemplate]="content" [userComponentParams]="match.item" partialContainer>
 *      <a partial-container-target></a>
 * </li>
 */
import { ElementRef, Injector, ViewContainerRef } from '@angular/core';
import { App } from '@wm/core';
import { StylableComponent } from '../base/stylable.component';
import * as i0 from "@angular/core";
export declare class ItemTemplateDirective extends StylableComponent {
    private app;
    static initializeProps: void;
    context: any;
    content: any;
    partialParams: any;
    nativeElement: HTMLElement;
    viewContainerRef: ViewContainerRef;
    get $index(): any;
    userComponentParams: any;
    set wmItemTemplate(value: any);
    constructor(inj: Injector, elRef: ElementRef, app: App, explicitContext: any);
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ItemTemplateDirective, [null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ItemTemplateDirective, "[wmItemTemplate]", ["itemTemplateRef"], { "userComponentParams": { "alias": "userComponentParams"; "required": false; }; "wmItemTemplate": { "alias": "wmItemTemplate"; "required": false; }; }, {}, never, never, false, never>;
}
