/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import { type FocusableElement } from 'tabbable';
import type Owner from '@ember/owner';
import { HdsAdvancedTableHorizontalAlignmentValues } from './types.ts';
import type { HdsAdvancedTableHorizontalAlignment, HdsAdvancedTableThSortOrder, HdsAdvancedTableThSortOrderLabels } from './types.ts';
import type { HdsAdvancedTableThButtonSortSignature } from './th-button-sort.ts';
export declare const ALIGNMENTS: string[];
export declare const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;
export interface HdsAdvancedTableThSortSignature {
    Args: {
        align?: HdsAdvancedTableHorizontalAlignment;
        onClickSort?: HdsAdvancedTableThButtonSortSignature['Args']['onClick'];
        sortOrder?: HdsAdvancedTableThSortOrder;
        tooltip?: string;
        rowspan?: number;
        colspan?: number;
        isStickyColumn?: boolean;
        isStickyColumnPinned?: boolean;
    };
    Blocks: {
        default?: [];
    };
    Element: HTMLDivElement;
}
export default class HdsAdvancedTableThSort extends Component<HdsAdvancedTableThSortSignature> {
    private _labelId;
    private _element;
    private _shouldTrapFocus;
    constructor(owner: Owner, args: HdsAdvancedTableThSortSignature['Args']);
    get ariaSort(): HdsAdvancedTableThSortOrderLabels;
    get align(): HdsAdvancedTableHorizontalAlignment;
    get classNames(): string;
    onFocusTrapDeactivate(): void;
    enableFocusTrap(): void;
    getInitialFocus(): FocusableElement | undefined;
    setElement(element: HTMLDivElement): void;
}
