export declare const EL_DEFAULT_ROW_LEVEL: number;
export declare type ElDataGetter<N, T> = (N: any) => T;
export declare type ElChildrenGetter<N, T> = (N: any) => (T[] | undefined);
export declare type ElExpandedGetter<N> = (N: any) => boolean;
export interface ElGetters<N, T> {
    dataGetter?: ElDataGetter<N, T>;
    childrenGetter?: ElChildrenGetter<N, T>;
    expandedGetter?: ElExpandedGetter<N>;
}
/**
 * Implicit context of cells and rows
 */
export declare class ElTreeGridPresentationNode<T> {
    /**
     * Data object associated with row
     */
    readonly data: T;
    children: ElTreeGridPresentationNode<T>[] | undefined;
    /**
     * Row expand state
     */
    expanded: boolean;
    readonly level: number;
    constructor(
    /**
     * Data object associated with row
     */
    data: T, children: ElTreeGridPresentationNode<T>[] | undefined, 
    /**
     * Row expand state
     */
    expanded: boolean, level: number);
    /**
     * True if row has child rows
     */
    hasChildren(): boolean;
}
