import { EventEmitter, TemplateRef, ElementRef, Renderer2, SimpleChanges, OnChanges, OnDestroy, OnInit } from '@angular/core';
export declare class TableMasterRowComponent implements OnChanges, OnInit, OnDestroy {
    private renderer;
    private el;
    /**
     * Controls wheter the table row has details and shows the collapsible toggle if it does.
     */
    hasDetails?: boolean;
    /**
     * Programattically toggle the visibility of the detail row. Default is false.
     */
    showDetails: boolean;
    /**
     * Template for the detail row content. Generates an [EmbeddedViewRef](https://angular.io/api/core/EmbeddedViewRef)
     * with the 'detailContext'. Required if hasDetails is true.
     */
    detailTemplate: TemplateRef<any>;
    /**
     * Optional context bound to the 'detailTemplate'. Available in the template as the default local template `let` declaration.
     * @example
     * ```html
     * <tr *ngFor="let item of items" ecTableMasterRow [detailTemplate]="myDetailTemplate" [detailContext]="item">
     *  ...
     * </tr>
     *
     * <ng-template #myDetailTemplate let-item>
     *  <p>{{item.comment}}</p>
     * </ng-template>
     */
    detailContext?: any;
    /**
     * The number of columns in your table minus the column that is automatcially added by the
     * TableMasterRowComponent. Required.
     */
    detailRowColSpan: number;
    /**
     * Space delimited string added to the class attribute of detail row TR.
     */
    detailRowClass?: string;
    /**
     * Space delimited string added to the class attribute of the TD that contains the detail row content
     */
    detailRowContentClass?: string;
    /**
     * Emits an event when the value of `showDetails` changes.
     */
    showDetailsChanged: EventEmitter<boolean>;
    /**
     * The template for the detail row, inserted in the DOM after the master row.
     */
    detailRowTemplate: TemplateRef<any>;
    /**
     * The view created from the `detailRow` template.
     */
    private detailView?;
    /**
     * The parent node of the host element.
     */
    private parentNode;
    /**
     * The sibling node of the host element.
     */
    private siblingNode;
    constructor(renderer: Renderer2, el: ElementRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    /**
     * When the master row has details, create the detail row and update it's visibility. If the master
     * has no details, remove the detail row
     */
    updateDetailRow(): void;
    /**
     * Show/hide the detail row
     */
    toggleDetails(show: boolean): void;
    private updateVisibility;
    /**
     * Attach the detailView the change detection tree and insert the generated html
     * of the detail row to DOM after the host element
     */
    private show;
    /**
     * Detach the detailView from the change detection tree and remove the generated
     * html of the detail row from the DOM
     */
    private hide;
    /**
     * Destroy the detailView and remove the generated html of the detail row from the DOM
     */
    private removeDetailView;
    /**
     * Remove the generated html of the detail row from the DOM
     */
    private removeDetailNodes;
}
