import { AfterContentInit, DoCheck, EventEmitter, Injector, IterableDiffers, OnDestroy, OnInit, QueryList } from '@angular/core';
import { CoreBaseComponent } from '../../common/base.component';
import { ActionItem, ActionItemComponent } from '../items/action-item.component';
import { ActionContainer, ActionContainerOrientation, ActionItemExecutedEventArgs } from './action-container';
import * as i0 from "@angular/core";
export declare abstract class ActionContainerComponent extends CoreBaseComponent implements AfterContentInit, DoCheck, OnInit, OnDestroy, ActionContainer {
    private iterableDiffers;
    /**
     * Property that stores ActionContainerComponent compact state. True for compact, false for not.
     */
    abstract get compact(): boolean;
    /**
     * Property that stores ActionContainerComponent orientation.
     * Vertical displays container from top to bottom of page, horizontal displays from left to right.
     */
    abstract get orientation(): ActionContainerOrientation;
    /**
     * List of HTML defined ActionItem objects stored in ActionContainerComponent.
     */
    childActions: QueryList<ActionItemComponent>;
    /**
     * List of programmatically defined ActionItem objects stored in ActionContainerComponent.
     */
    set actions(actions: ActionItem[]);
    /**
     * Flag set to display either HTML or programmatically defined ActionItem objects first.
     * True to display HTML defined actions first, false to display programmatically defined actions first (defaults to false).
     */
    set displayInlineActionsFirst(displayFirst: boolean);
    /**
     * List of all ActionItem objects stored in ActionContainerComponent.
     */
    get actions(): ActionItem[];
    /**
     * Target object used by child actions of ActionContainerComponent.
     */
    set target(input: any);
    get target(): any;
    targetChange: EventEmitter<any>;
    /**
     * Flag set to enable or disable ActionContainerComponent.
     */
    set enabled(input: boolean);
    get enabled(): boolean;
    /**
     * Event emitter fired whenever an error occurs within a child ActionItem.
     */
    error: EventEmitter<any>;
    /**
     * Event emitter fired whenever a child ActionItem is executed.
     */
    executed: EventEmitter<ActionItemExecutedEventArgs>;
    /**
     * Returns true if any child ActionItem objects have the busy flag set, false otherwise.
     */
    get isBusy(): boolean;
    /**
     * List of all child ActionItem objects, both HTML and programmatically defined.
     */
    combinedActions: ActionItem[];
    /**
     * List of programmatically defined ActionItem objects stored in ActionContainerComponent.
     */
    internalActions: ActionItem[];
    /**
    * List of HTML defined ActionItem objects stored in ActionContainerComponent.
    */
    inlineActions: ActionItem[];
    private displayInlineActionsFirstInternal;
    private enabledInternal;
    private internalTarget;
    private actionsDiffer;
    private wasBusy;
    private completedSubscription;
    /**
     * Constructor for ActionContainerComponent.
     */
    constructor(iterableDiffers: IterableDiffers, injector: Injector);
    /**
     * Callback method run when ActionContainerComponent is initialized.
     */
    ngOnInit(): void;
    /**
     * Callback method run when ActionContainerComponent is destroyed.
     */
    ngOnDestroy(): void;
    /**
     * Callback method run immediately after Angular has completed initialization of all of ActionContainerComponent's content.
     */
    ngAfterContentInit(): void;
    /**
     * Angular's doCheck life cycle hook. Note there is an odd condition when trying to create dynamic toolbar items inline with ng for.
     * Somehow this method is not getting called in time to initialize the button that is created by the ng for statement.
     */
    ngDoCheck(): void;
    /**
     * Method to update all child ActionItem objects states.
     */
    updateActionStates(): void;
    private updateActions;
    static ɵfac: i0.ɵɵFactoryDeclaration<ActionContainerComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ActionContainerComponent, never, never, { "actions": "actions"; "displayInlineActionsFirst": "displayInlineActionsFirst"; "target": "target"; "enabled": "enabled"; }, { "targetChange": "targetChange"; "error": "error"; "executed": "executed"; }, ["childActions"], never, false, never>;
}
