import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef, Injector } from '@angular/core';
import _TableHeaderCell from '@ui5/webcomponents/dist/TableHeaderCell.js';

declare class TableHeaderCell implements AfterViewInit {
    /**
     * Defines the width of the column.
  
  By default, the column will grow and shrink according to the available space.
  This will distribute the space proportionally among all columns with no specific width set.
  
  See [\<length\>](https://developer.mozilla.org/en-US/docs/Web/CSS/length) and
  [\<percentage\>](https://developer.mozilla.org/en-US/docs/Web/CSS/percentage) for possible width values.
     */
    width: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the minimum width of the column.
  
  If the table is in `Popin` mode and the minimum width does not fit anymore,
  the column will move into the popin.
  
  By default, the table prevents the column from becoming too small.
  Changing this value to a small value might lead to accessibility issues.
  
  **Note:** This property only takes effect for columns with a [\<percentage\>](https://developer.mozilla.org/en-US/docs/Web/CSS/percentage) value
  or the default width.
     */
    minWidth: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the importance of the column.
  
  This property affects the popin behaviour.
  Columns with higher importance will move into the popin area later then less important
  columns.
     */
    importance: _angular_core.InputSignal<number | undefined>;
    /**
     * The text for the column when it pops in.
     */
    popinText: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the sort indicator of the column.
     */
    sortIndicator: _angular_core.InputSignal<"None" | "Ascending" | "Descending" | undefined>;
    /**
     * Defines if the column is hidden in the popin.
  
  **Note:** Please be aware that hiding the column in the popin might lead to accessibility issues as
  users might not be able to access the content of the column on small screens.
     */
    popinHidden: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Determines the horizontal alignment of table cells.
     */
    horizontalAlign: _angular_core.InputSignal<"Left" | "Start" | "Right" | "End" | "Center" | undefined>;
    /**
     * 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.
     *
     * - **action**: Defines the action of the column.
  
  **Note:** While multiple actions are technically possible, this is not supported.
     * - **(default)**: Defines the content of the component.
     *
     * @example
     * ```html
     * <ui5-table-header-cell>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-table-header-cell>
     * ```
     *
     * @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: string;
    } | {
        name: string;
        description: string;
        since?: undefined;
    })[];
    elementRef: ElementRef<_TableHeaderCell>;
    injector: Injector;
    get element(): _TableHeaderCell;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableHeaderCell, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableHeaderCell, "ui5-table-header-cell, [ui5-table-header-cell]", ["ui5TableHeaderCell"], { "width": { "alias": "width"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "importance": { "alias": "importance"; "required": false; "isSignal": true; }; "popinText": { "alias": "popinText"; "required": false; "isSignal": true; }; "sortIndicator": { "alias": "sortIndicator"; "required": false; "isSignal": true; }; "popinHidden": { "alias": "popinHidden"; "required": false; "isSignal": true; }; "horizontalAlign": { "alias": "horizontalAlign"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

export { TableHeaderCell };
