import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef, Injector } from '@angular/core';
import _TabContainer, { ITab } from '@ui5/webcomponents/dist/TabContainer.js';
export { ITab } from '@ui5/webcomponents/dist/TabContainer.js';
import { UI5CustomEvent } from '@ui5/webcomponents-base';

declare class TabContainer implements AfterViewInit {
    /**
     * Defines whether the tab content is collapsed.
     */
    collapsed: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the alignment of the content and the `additionalText` of a tab.
  
  **Note:**
  The content and the `additionalText` would be displayed vertically by default,
  but when set to `Inline`, they would be displayed horizontally.
     */
    tabLayout: _angular_core.InputSignal<"Inline" | "Standard" | undefined>;
    /**
     * Defines the overflow mode of the header (the tab strip). If you have a large number of tabs, only the tabs that can fit on screen will be visible.
  All other tabs that can 't fit on the screen are available in an overflow tab "More".
  
  **Note:**
  Only one overflow at the end would be displayed by default,
  but when set to `StartAndEnd`, there will be two overflows on both ends, and tab order will not change on tab selection.
     */
    overflowMode: _angular_core.InputSignal<"End" | "StartAndEnd" | undefined>;
    /**
     * Sets the background color of the Tab Container's header as `Solid`, `Transparent`, or `Translucent`.
     */
    headerBackgroundDesign: _angular_core.InputSignal<"Solid" | "Transparent" | "Translucent" | undefined>;
    /**
     * Sets the background color of the Tab Container's content as `Solid`, `Transparent`, or `Translucent`.
     */
    contentBackgroundDesign: _angular_core.InputSignal<"Solid" | "Transparent" | "Translucent" | undefined>;
    /**
     * Defines if automatic tab selection is deactivated.
  
  **Note:** By default, if none of the child tabs have the `selected` property set, the first tab will be automatically selected.
  Setting this property to `true` allows preventing this behavior.
     */
    noAutoSelection: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Returns all slotted tabs and their subTabs in a flattened array.
  The order of tabs is depth-first.
     * @readonly This property is managed by the web component.
     */
    get allItems(): Array<ITab>;
    /**
     * Fired when a tab is selected.
     */
    ui5TabSelect: _angular_core.OutputEmitterRef<UI5CustomEvent<_TabContainer, "tab-select">>;
    /**
     * Fired when element is being moved over the tab container.
  
  If the new position is valid, prevent the default action of the event using `preventDefault()`.
     */
    ui5MoveOver: _angular_core.OutputEmitterRef<UI5CustomEvent<_TabContainer, "move-over">>;
    /**
     * Fired when element is moved to the tab container.
  
  **Note:** `move` event is fired only if there was a preceding `move-over` with prevented default action.
     */
    ui5Move: _angular_core.OutputEmitterRef<UI5CustomEvent<_TabContainer, "move">>;
    /**
     * Available slots for content projection in this component.
     *
     * Slots allow you to insert custom content into predefined areas of the web component.
     * Use the `slot` attribute on child elements to target specific slots.
     *
     * - **(default)**: Defines the tabs.
  
  **Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.
     * - **overflowButton**: Defines the button which will open the overflow menu. If nothing is provided to this slot,
  the default button will be used.
     * - **startOverflowButton**: Defines the button which will open the start overflow menu if available. If nothing is provided to this slot,
  the default button will be used.
     *
     * @example
     * ```html
     * <ui5-tabcontainer>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-tabcontainer>
     * ```
     *
     * @readonly
     * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
     */
    readonly slots: ({
        name: string;
        description: string;
        since?: undefined;
    } | {
        name: string;
        description: string;
        since: string;
    })[];
    elementRef: ElementRef<_TabContainer>;
    injector: Injector;
    get element(): _TabContainer;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabContainer, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabContainer, "ui5-tabcontainer, [ui5-tabcontainer]", ["ui5TabContainer"], { "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "tabLayout": { "alias": "tabLayout"; "required": false; "isSignal": true; }; "overflowMode": { "alias": "overflowMode"; "required": false; "isSignal": true; }; "headerBackgroundDesign": { "alias": "headerBackgroundDesign"; "required": false; "isSignal": true; }; "contentBackgroundDesign": { "alias": "contentBackgroundDesign"; "required": false; "isSignal": true; }; "noAutoSelection": { "alias": "noAutoSelection"; "required": false; "isSignal": true; }; }, { "ui5TabSelect": "ui5TabSelect"; "ui5MoveOver": "ui5MoveOver"; "ui5Move": "ui5Move"; }, never, ["*"], true, never>;
}

export { TabContainer };
