/**
*
* @license
* Copyright 2017 SAP Ariba
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*
*
*/
import { EventEmitter } from '@angular/core';
import { Environment } from '@aribaui/core';
import { BaseComponent } from '../../../core/base.component';
import { OutlineForComponent } from '../outline-for.component';
import { OutlineState } from '../outline-state';
/**
* OutlineControlComponent renders the indentation, arrow, and text for a node in an outline.
* It should be used either in the body of an OutlineFor component, or inside datatable
*
*
* ##Usage inside body:
*
* Here you can see that we need to wrap out content inside ng-template which will push us
* give us current item item and then we can place OutlineControlComponent to control
* the tree.
*
* ```
*
*
*
*
*
*
* {{item?.content}}
*
*
*
*
*
*
*
*
* ```
*
*
*
*
*/
export declare class OutlineControlComponent extends BaseComponent {
env: Environment;
private outlineState;
private parentControl;
outlineFor: OutlineForComponent;
/**
*
* If TRUE it changes the behavior of the outline node text which click is triggered
* it selects the item and broadcast the `onItemSelected` event
*
*/
allowSelection: boolean;
allowEdit: boolean;
/**
*
* Triggers action when outline item is expanded
*
*/
action: EventEmitter;
/**
* Current item used for this `OutlineControl`
*
*/
item: any;
/**
* Calculated indentation used to shift the nested section to the left. This is used for
* embedded mode e.g. tree table where we cannot indent parent
*/
indentation: number;
isRootItem: boolean;
constructor(env: Environment, outlineState: OutlineState, parentControl: OutlineControlComponent, outlineFor: OutlineForComponent);
ngOnInit(): void;
/**
*
* We dont show expansion icons when there no children
*
*/
hasExpansionControl(): boolean;
isSelected(): boolean;
calculateStyleClass(): string;
/**
* Collapses and expands current node
*
*/
toggleExpansion(event: any): void;
select(): void;
private prepareControl();
}