import { EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
import { QdPanelSectionConfig } from '../panel-section/model/panel-section-config.interface';
import { QdPanelSectionActionService } from './services/panel-section-action.service';
import { QdStatusPairsComponent } from '../lists/pairs/status-pairs/status-pairs-container/status-pairs.component';
import { QdPanelSectionTextParagraphComponent } from './text-paragraph/panel-section-text-paragraph.component';
import { QdTableComponent } from '../table/table.component';
import { QdPanelSectionStatusComponent } from './status/panel-section-status.component';
import * as i0 from "@angular/core";
/**
 * The **QdPanelSection** component provides a structural container for panels like the control panel
 * that can hold a title and text. A simple title can be set through the config and a status title can be set with
 * the child component **qd-panel-section-status**. Text can be inserted with
 * **qd-panel-section-text-paragraph** components that optionally also can have a title.
 * It's also possible to integrate a **qd-table** or **qd-status-pairs**.
 * Define actions in the config to insert an action button or a menu button with multiple actions in the toolbar.
 * When the button is clicked, the `actionOutput` will be emitted.
 *
 * **Usage:**
 *
 * @example
 * <qd-panel-section [config]="{ title: { i18n: 'i18n.my-panel-section-title' }}">
 *   <qd-panel-section-status
 *     [config]="{ status: 'success', title: { i18n: 'i18n.my-control-panel-status-title' }}"
 *   ></qd-panel-section-status>
 *   <qd-panel-section-text-paragraph [config]="{ title: { i18n: 'i18n.my-panel-section-text-paragraph-title' }}">
 *     My Panel Section Text
 *   </qd-panel-section-text-paragraph>
 * </qd-text-section>
 */
export declare class QdPanelSectionComponent implements OnInit, OnDestroy {
    private readonly actionService;
    /**
     * The configuration of the panel section.
     */
    config: QdPanelSectionConfig;
    /**
     * @description Sends an event when the panel section action button is clicked or tapped.
     *
     * The event includes the action type
     */
    actionOutput: EventEmitter<string>;
    statusList: QueryList<QdPanelSectionStatusComponent>;
    statusPairsList: QueryList<QdStatusPairsComponent>;
    tableList: QueryList<QdTableComponent<string>>;
    paragraphList: QueryList<QdPanelSectionTextParagraphComponent>;
    private _actionOutputSubscription;
    constructor(actionService: QdPanelSectionActionService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    hasActions(): boolean;
    hasContent(): boolean;
    private subscribeForActionOutput;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdPanelSectionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QdPanelSectionComponent, "qd-panel-section", never, { "config": { "alias": "config"; "required": false; }; }, { "actionOutput": "actionOutput"; }, ["statusList", "statusPairsList", "tableList", "paragraphList"], ["qd-panel-section-status", "qd-status-pairs", "qd-table", "qd-panel-section-text-paragraph"], false, never>;
}
//# sourceMappingURL=panel-section.component.d.ts.map