import { TemplateRef } from '@angular/core';
import { MessageBoxConfig } from '../utils/message-box-config.class';
import { MessageBoxRef } from '../utils/message-box-ref.class';
import * as i0 from "@angular/core";
export interface MessageBoxTemplateDirectiveContext<T = MessageBoxConfig<any>, U = T extends MessageBoxConfig<infer P> ? P : any> {
    $implicit: MessageBoxRef<U>;
    messageBoxConfig: T;
}
export declare class MessageBoxTemplateDirective<T = MessageBoxConfig<any>> {
    /** Custom dialog config model. */
    fdMessageBoxTemplateConfig: T;
    /** @hidden */
    readonly templateRef: TemplateRef<any>;
    /** @hidden */
    static ngTemplateContextGuard<T extends null>(dir: MessageBoxTemplateDirective<T>, ctx: MessageBoxTemplateDirectiveContext<MessageBoxConfig<any>>): ctx is MessageBoxTemplateDirectiveContext<MessageBoxConfig<any>>;
    /** @hidden */
    static ngTemplateContextGuard<T = MessageBoxConfig<any>>(dir: MessageBoxTemplateDirective<T>, ctx: MessageBoxTemplateDirectiveContext<T>): ctx is MessageBoxTemplateDirectiveContext<T>;
    static ɵfac: i0.ɵɵFactoryDeclaration<MessageBoxTemplateDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<MessageBoxTemplateDirective<any>, "[fdMessageBoxTemplate]", never, { "fdMessageBoxTemplateConfig": { "alias": "fdMessageBoxTemplateConfig"; "required": false; }; }, {}, never, never, true, never>;
}
