import { ComputedRef, CSSProperties, MaybeRefOrGetter } from 'vue';
import { ScrollerOptionEnabled } from './scrollerOptions';
/**
 * Options for table column width locking.
 */
export interface UseTableColumnWidthsOptions extends ScrollerOptionEnabled {
    table: MaybeRefOrGetter<HTMLTableElement | undefined>;
    dependencies?: MaybeRefOrGetter<unknown[] | Record<string, unknown> | null>;
    /**
     * @deprecated Use `enabled: false` (the inverse) for parity with sibling
     * scroller composables. `disabled` continues to work for backward compat.
     */
    disabled?: MaybeRefOrGetter<boolean>;
}
/**
 * Public state returned by `useTableColumnWidths`.
 */
export interface UseTableColumnWidthsReturn {
    columnWidths: ComputedRef<number[]>;
    hasLockedWidths: ComputedRef<boolean>;
    tableStyle: ComputedRef<CSSProperties | undefined>;
    scheduleMeasure: () => void;
    clear: () => void;
}
/**
 * Measure native table columns and expose locked widths for a `<colgroup>`.
 */
export declare function useTableColumnWidths(options: UseTableColumnWidthsOptions): UseTableColumnWidthsReturn;
