import { TemplateRef } from '@angular/core';
import { NxSwappedAbstractBaseDirective } from '../../swap-content-structural-common/nx-swapped-base.directive';
import { NxTemplateWrapperComponent } from './nx-template-wrapper.component';
import * as i0 from "@angular/core";
/**
 * A structural directive that replaces the content with a placeholder from template.
 *
 * Example:
 *
 * ```html
 * <ng-template #thePlaceholder> ... </ng-template>
 * <div *nxTemplatePlaceholder="showPlaceholder; templateRef: thePlaceholder">...</div>
 * ```
 */
export declare class NxTemplatePlaceholderDirective extends NxSwappedAbstractBaseDirective {
    /**
     * A structural directive that replaces the content with a placeholder from template.
     *
     * A template reference must be provided to the directive.
     *
     * Example:
     *
     * ```html
     * <ng-template #thePlaceholder> ... </ng-template>
     * <div *nxTemplatePlaceholder="showPlaceholder; templateRef: thePlaceholder">...</div>
     */
    isSwapped: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    /**
     * The template reference to be used as a placeholder.
     *
     * This is the template that will be rendered when the `isLoading` input is `true`.
     *
     * Context can additionally be provided to the template via context input.
     *
     * Example with context:
     *
     * ```html
     * <ng-template #thePlaceholder let-data="data"> ... </ng-template>
     * <div *nxTemplatePlaceholder="showPlaceholder; templateRef: thePlaceholder; context: { data: someData }">...</div>
     * ```
     */
    nxTemplatePlaceholderTemplateRef: import("@angular/core").InputSignal<TemplateRef<unknown>>;
    /**
     * The context to be for the template passed as the templateRef.
     */
    nxTemplatePlaceholderContext: import("@angular/core").InputSignal<Record<string, unknown>>;
    swappedStateComponent: import("@angular/core").WritableSignal<typeof NxTemplateWrapperComponent>;
    componentInputs: import("@angular/core").Signal<{
        context: Record<string, unknown>;
        templateRef: TemplateRef<unknown>;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NxTemplatePlaceholderDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NxTemplatePlaceholderDirective, "[nxTemplatePlaceholder]", never, { "isSwapped": { "alias": "nxTemplatePlaceholder"; "required": false; "isSignal": true; }; "nxTemplatePlaceholderTemplateRef": { "alias": "nxTemplatePlaceholderTemplateRef"; "required": true; "isSignal": true; }; "nxTemplatePlaceholderContext": { "alias": "nxTemplatePlaceholderContext"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
