import { ChildModelOf, EventHandler, Outline, Page, RemoteEvent, TableFilterRemovedEvent, TableRow, TableRowInitEvent, TableRowsInsertedEvent, Tree, TreeAdapter, TreeNode, TreeNodeModel } from '../../index';
export declare class OutlineAdapter extends TreeAdapter {
    widget: Outline;
    protected _filterDirty: boolean;
    protected _nodeIdToRowMap: Record<string, TableRow>;
    protected _detailTableRowInitHandler: EventHandler<TableRowInitEvent>;
    protected _detailTableRowsInsertedHandler: EventHandler<TableRowsInsertedEvent>;
    protected _detailTableFilterRemoved: EventHandler<TableFilterRemovedEvent>;
    constructor();
    protected _onPageChanged(event: RemoteEvent): void;
    onModelAction(event: RemoteEvent): void;
    protected _initDetailTable(page: Page): void;
    protected _destroyDetailTable(page: Page): void;
    protected _linkNodeWithRow(row: TableRow): void;
    protected _unlinkNodeWithRow(row: TableRow): void;
    protected _onDetailTableRowInit(event: TableRowInitEvent): void;
    protected _onDetailTableRowsInserted(event: TableRowsInsertedEvent): void;
    protected _onDetailTableFilterRemoved(event: TableFilterRemovedEvent): void;
    /**
     * Link node with row, if it hasn't been linked yet.
     */
    protected _linkNodeWithRowLater(page: Page): void;
    protected _getDefaultNodeObjectType(): string;
    /**
     * Static method to modify the prototype of Outline.
     */
    static modifyOutlinePrototype(): void;
    /**
     * Replacement for {@link Outline._computeDetailContent}.
     */
    protected static _computeDetailContentRemote(this: Outline & {
        _computeDetailContentOrig: any;
    }): any;
    /**
     * Replacement for {@link Outline.updateDetailMenus}.
     */
    static updateDetailMenusRemote(this: Outline & {
        updateDetailMenusOrig: typeof Outline.prototype.updateDetailMenus;
    }): void;
    /**
     * Replaced to make sure page is correctly initialized (linked with row).
     * This cannot be done using pageInit event because the page needs to be initialized during the outline initialization
     * and the event listener can only be attached afterwards.
     */
    protected static _initTreeNodeInternalRemote(this: Outline & {
        modelAdapter: OutlineAdapter;
        _initTreeNodeInternalOrig: any;
    }, page: Page, parentNode: Page): void;
    protected static _createTreeNodeRemote(this: Tree & {
        modelAdapter: TreeAdapter;
        _createTreeNodeOrig: any;
    }, nodeModel: TreeNodeModel): any;
    protected _initNodeModel(nodeModel?: TreeNodeModel): ChildModelOf<TreeNode>;
    protected static _updateParentTablePageMenusForDetailForm(this: Page & {
        _updateParentTablePageMenusForDetailFormOrig: any;
        remote?: true;
    }): void;
    protected static _updateParentTablePageMenusForDetailTable(this: Page & {
        _updateParentTablePageMenusForDetailTableOrig: any;
        remote?: true;
    }): void;
    static linkWithRow(this: Page & {
        linkWithRowOrig: typeof Page.prototype.linkWithRow;
    }, row: TableRow): void;
    static unlinkWithRow(this: Page & {
        unlinkWithRowOrig: typeof Page.prototype.unlinkWithRow;
    }, row: TableRow): void;
}
//# sourceMappingURL=OutlineAdapter.d.ts.map