import { TemplateRef } from '@angular/core';
import { DetailToggleEvents, Row, RowDetailContext } from '../../types/public.types';
import * as i0 from "@angular/core";
export declare class DatatableRowDetailDirective<TRow extends Row = any> {
    /**
     * The detail row height is required especially
     * when virtual scroll is enabled.
     */
    readonly rowHeight: import("@angular/core").InputSignal<number | ((row?: TRow, index?: number) => number)>;
    readonly _templateInput: import("@angular/core").InputSignal<TemplateRef<RowDetailContext<TRow>> | undefined>;
    readonly _templateQuery: import("@angular/core").Signal<TemplateRef<any> | undefined>;
    readonly template: import("@angular/core").Signal<TemplateRef<RowDetailContext<TRow>> | undefined>;
    /**
     * Row detail row visbility was toggled.
     */
    readonly toggle: import("@angular/core").OutputEmitterRef<DetailToggleEvents<TRow>>;
    /**
     * Toggle the expansion of the row
     */
    toggleExpandRow(row: TRow): void;
    /**
     * API method to expand all the rows.
     */
    expandAllRows(): void;
    /**
     * API method to collapse all the rows.
     */
    collapseAllRows(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatatableRowDetailDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DatatableRowDetailDirective<any>, "ngx-datatable-row-detail", never, { "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "_templateInput": { "alias": "template"; "required": false; "isSignal": true; }; }, { "toggle": "toggle"; }, ["_templateQuery"], never, true, never>;
}
