import type { JSX } from '../../stencil-public-runtime';
import type { FixedColsPropType, HasSettingsMenuPropType, KoliBriTableDataType, KoliBriTableHeaders, KoliBriTablePaginationProps, LabelPropType, PaginationPositionPropType, Stringified, TableAPI, TableDataFootPropType, TableDataPropType, TableSelectionPropType, TableStatefulCallbacksPropType, TableStates, VariantClassNamePropType } from '../../schema';
import { type AriaLabelledbyPropType } from '../../schema/props/aria-labelledby';
export declare class KolTableStateful implements TableAPI {
    private readonly host?;
    private internals?;
    private resolvedElements;
    _ariaLabelledby?: AriaLabelledbyPropType;
    validateAriaLabelledby(value?: AriaLabelledbyPropType): void;
    private syncExternalLabel;
    private tableWcRef?;
    private readonly catchRef;
    private sortData;
    private showPagination;
    private pageStartSlice;
    private pageEndSlice;
    private disableSort;
    private adjustedHeaderCells?;
    _allowMultiSort?: boolean;
    _data: Stringified<KoliBriTableDataType[]>;
    _dataFoot?: Stringified<KoliBriTableDataType[]>;
    _fixedCols?: FixedColsPropType;
    _headers: Stringified<KoliBriTableHeaders>;
    _label: string;
    _pagination?: boolean | Stringified<KoliBriTablePaginationProps>;
    _paginationPosition?: PaginationPositionPropType;
    _selection?: TableSelectionPropType;
    _on?: TableStatefulCallbacksPropType;
    _hasSettingsMenu?: HasSettingsMenuPropType;
    _variant?: VariantClassNamePropType;
    state: TableStates;
    validateAllowMultiSort(value?: boolean): void;
    validateData(value?: TableDataPropType): void;
    validateDataFoot(value?: TableDataFootPropType): void;
    validateFixedCols(value?: FixedColsPropType): void;
    validatePaginationPosition(value?: PaginationPositionPropType): void;
    validateHasSettingsMenu(value?: HasSettingsMenuPropType): void;
    private changeCellSort;
    private initializeSortFromHeaders;
    validateHeaders(value?: Stringified<KoliBriTableHeaders>): void;
    validateLabel(value?: LabelPropType): void;
    validateSelection(value?: TableSelectionPropType): void;
    validateOn(value?: TableStatefulCallbacksPropType): void;
    private readonly handlePagination;
    validatePagination(value?: boolean | Stringified<KoliBriTablePaginationProps>): void;
    private onSelectionChange;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    componentWillLoad(): void;
    private selectDisplayedData;
    private updateSortedData;
    private renderPagination;
    private getHeaderCellSortState;
    private getHeaderCellSortOrder;
    private handleSort;
    private getSelectedData;
    private handleSelectionChange;
    getSelection(): Promise<KoliBriTableDataType[] | null>;
    resetSort(): Promise<void>;
    private readonly handleChangeHeaderCells;
    private headerKeysChanged;
    private mergeAdjustedHeaderCells;
    private buildHeaderCells;
    render(): JSX.Element;
}
