import { TemplateRef } from '@angular/core';
import { DialogConfig } from '../utils/dialog-config.class';
import { DialogRef } from '../utils/dialog-ref.class';
import * as i0 from "@angular/core";
export interface DialogTemplateDirectiveContext<T = DialogConfig<any>, U = T extends DialogConfig<infer P> ? P : any> {
    $implicit: DialogRef<U>;
    dialogConfig: T;
}
export declare class DialogTemplateDirective<T = DialogConfig<any>> {
    /** Custom dialog config model. */
    fdDialogTemplateConfig: import("@angular/core").InputSignal<T | undefined>;
    /** @hidden */
    readonly templateRef: TemplateRef<any>;
    /** @hidden */
    static ngTemplateContextGuard<T extends null>(dir: DialogTemplateDirective<T>, ctx: DialogTemplateDirectiveContext<DialogConfig<any>>): ctx is DialogTemplateDirectiveContext<DialogConfig<any>>;
    /** @hidden */
    static ngTemplateContextGuard<T = DialogConfig<any>>(dir: DialogTemplateDirective<T>, ctx: DialogTemplateDirectiveContext<T>): ctx is DialogTemplateDirectiveContext<T>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DialogTemplateDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DialogTemplateDirective<any>, "[fdDialogTemplate]", never, { "fdDialogTemplateConfig": { "alias": "fdDialogTemplateConfig"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
