/*!
 * devextreme-angular
 * Version: 25.1.4
 * Build date: Tue Aug 05 2025
 *
 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
 *
 * This software may be modified and distributed under the terms
 * of the MIT license. See the LICENSE file in the root of the project for details.
 *
 * https://github.com/DevExpress/devextreme-angular
 */
import { ElementRef, Renderer2, AfterViewInit } from '@angular/core';
import dxTreeList from 'devextreme/ui/tree_list';
import { dxTreeListColumn, dxTreeListRowObject, TreeListPredefinedColumnButton } from 'devextreme/ui/tree_list';
import { event } from 'devextreme/events/events.types';
import { NestedOptionHost, DxTemplateDirective, IDxTemplateHost, DxTemplateHost } from 'devextreme-angular/core';
import { CollectionNestedOption } from 'devextreme-angular/core';
import * as i0 from "@angular/core";
export declare class DxiTreeListButtonComponent extends CollectionNestedOption implements AfterViewInit, IDxTemplateHost {
    private renderer;
    private document;
    private element;
    get cssClass(): string;
    set cssClass(value: string);
    get disabled(): boolean | ((options: {
        column: dxTreeListColumn;
        component: dxTreeList;
        row: dxTreeListRowObject;
    }) => boolean);
    set disabled(value: boolean | ((options: {
        column: dxTreeListColumn;
        component: dxTreeList;
        row: dxTreeListRowObject;
    }) => boolean));
    get hint(): string;
    set hint(value: string);
    get icon(): string;
    set icon(value: string);
    get name(): string | TreeListPredefinedColumnButton;
    set name(value: string | TreeListPredefinedColumnButton);
    get onClick(): ((e: {
        column: dxTreeListColumn;
        component: dxTreeList;
        element: any;
        event: event;
        model: any;
        row: dxTreeListRowObject;
    }) => void);
    set onClick(value: ((e: {
        column: dxTreeListColumn;
        component: dxTreeList;
        element: any;
        event: event;
        model: any;
        row: dxTreeListRowObject;
    }) => void));
    get template(): any;
    set template(value: any);
    get text(): string;
    set text(value: string);
    get visible(): boolean | ((options: {
        column: dxTreeListColumn;
        component: dxTreeList;
        row: dxTreeListRowObject;
    }) => boolean);
    set visible(value: boolean | ((options: {
        column: dxTreeListColumn;
        component: dxTreeList;
        row: dxTreeListRowObject;
    }) => boolean));
    protected get _optionPath(): string;
    constructor(parentOptionHost: NestedOptionHost, optionHost: NestedOptionHost, renderer: Renderer2, document: any, templateHost: DxTemplateHost, element: ElementRef);
    setTemplate(template: DxTemplateDirective): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxiTreeListButtonComponent, [{ host: true; skipSelf: true; }, { host: true; }, null, null, { host: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxiTreeListButtonComponent, "dxi-tree-list-button", never, { "cssClass": { "alias": "cssClass"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "name": { "alias": "name"; "required": false; }; "onClick": { "alias": "onClick"; "required": false; }; "template": { "alias": "template"; "required": false; }; "text": { "alias": "text"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, {}, never, ["*"], true, never>;
}
export declare class DxiTreeListButtonModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DxiTreeListButtonModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DxiTreeListButtonModule, never, [typeof DxiTreeListButtonComponent], [typeof DxiTreeListButtonComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<DxiTreeListButtonModule>;
}
