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

declare class Table implements AfterViewInit {
    /**
     * Defines the accessible ARIA name of the component.
     */
    accessibleName: _angular_core.InputSignal<string | undefined>;
    /**
     * Identifies the element (or elements) that labels the component.
     */
    accessibleNameRef: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the text to be displayed when there are no rows in the component.
     */
    noDataText: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the mode of the <code>ui5-table</code> overflow behavior.
  
  Available options are:
  
  <code>Scroll</code> - Columns are shown as regular columns and horizontal scrolling is enabled.
  <code>Popin</code> - Columns are shown as pop-ins instead of regular columns.
     */
    overflowMode: _angular_core.InputSignal<"Scroll" | "Popin" | undefined>;
    /**
     * Defines if the loading indicator should be shown.
  
  **Note:** When the component is loading, it is not interactive.
     */
    loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the delay in milliseconds, after which the loading indicator will show up for this component.
     */
    loadingDelay: _angular_core.InputSignal<number | undefined>;
    /**
     * Defines the maximum number of row actions that is displayed, which determines the width of the row action column.
  
  **Note:** It is recommended to use a maximum of 3 row actions, as exceeding this limit may take up too much space on smaller screens.
     */
    rowActionCount: _angular_core.InputSignal<number | undefined>;
    /**
     * Determines whether the table rows are displayed with alternating background colors.
     */
    alternateRowColors: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Fired when an interactive row is clicked.
  
  **Note:** This event is not fired if the `behavior` property of the selection component is set to `RowOnly`.
  In that case, use the `change` event of the selection component instead.
     */
    ui5RowClick: _angular_core.OutputEmitterRef<UI5CustomEvent<_Table, "row-click">>;
    /**
     * Fired when a movable item is moved over a potential drop target during a dragging operation.
  
  If the new position is valid, prevent the default action of the event using `preventDefault()`.
  
  **Note:** If the dragging operation is a cross-browser operation or files are moved to a potential drop target,
  the `source` parameter will be `null`.
     */
    ui5MoveOver: _angular_core.OutputEmitterRef<UI5CustomEvent<_Table, "move-over">>;
    /**
     * Fired when a movable list item is dropped onto a drop target.
  
  **Notes:**
  
  The `move` event is fired only if there was a preceding `move-over` with prevented default action.
  
  If the dragging operation is a cross-browser operation or files are moved to a potential drop target,
  the `source` parameter will be `null`.
     */
    ui5Move: _angular_core.OutputEmitterRef<UI5CustomEvent<_Table, "move">>;
    /**
     * Fired when a row action is clicked.
     */
    ui5RowActionClick: _angular_core.OutputEmitterRef<UI5CustomEvent<_Table, "row-action-click">>;
    /**
     * 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 rows of the component.
  
  **Note:** Use `ui5-table-row` for the intended design.
     * - **headerRow**: Defines the header row of the component.
  
  **Note:** Use `ui5-table-header-row` for the intended design.
     * - **noData**: Defines the custom visualization if there is no data available.
     * - **features**: Defines the features of the component.
     *
     * @example
     * ```html
     * <ui5-table>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-table>
     * ```
     *
     * @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;
    }[];
    elementRef: ElementRef<_Table>;
    injector: Injector;
    get element(): _Table;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<Table, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<Table, "ui5-table, [ui5-table]", ["ui5Table"], { "accessibleName": { "alias": "accessibleName"; "required": false; "isSignal": true; }; "accessibleNameRef": { "alias": "accessibleNameRef"; "required": false; "isSignal": true; }; "noDataText": { "alias": "noDataText"; "required": false; "isSignal": true; }; "overflowMode": { "alias": "overflowMode"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingDelay": { "alias": "loadingDelay"; "required": false; "isSignal": true; }; "rowActionCount": { "alias": "rowActionCount"; "required": false; "isSignal": true; }; "alternateRowColors": { "alias": "alternateRowColors"; "required": false; "isSignal": true; }; }, { "ui5RowClick": "ui5RowClick"; "ui5MoveOver": "ui5MoveOver"; "ui5Move": "ui5Move"; "ui5RowActionClick": "ui5RowActionClick"; }, never, ["*"], true, never>;
}

export { Table };
