import { SetupContext, ComputedRef, Ref } from '@vue/composition-api'; import { ClassName, Styles } from '../../common'; import { BaseTableCol, TableRowData, TdBaseTableProps } from '../type'; import { TableRowFixedClasses, RowAndColFixedPosition, TableColFixedClasses } from '../interface'; export declare function getColumnFixedStyles(col: TdBaseTableProps['columns'][0], index: number, rowAndColFixedPosition: RowAndColFixedPosition, tableColFixedClasses: TableColFixedClasses): { style?: Styles; classes?: ClassName; }; export declare function getRowFixedStyles(rowId: string | number, rowIndex: number, rowLength: number, fixedRows: TdBaseTableProps['fixedRows'], rowAndColFixedPosition: RowAndColFixedPosition, tableRowFixedClasses: TableRowFixedClasses): { style: Styles; classes: ClassName; }; export default function useFixed(props: TdBaseTableProps, context: SetupContext, finalColumns: ComputedRef[]>, affixRef: Record): { tableWidth: Ref; tableElmWidth: Ref; thWidthList: Ref<{ [x: string]: number; }>; isFixedHeader: Ref; isWidthOverflow: Ref; tableContentRef: Ref; isFixedColumn: Ref; showColumnShadow: { left: boolean; right: boolean; }; rowAndColFixedPosition: Ref; virtualScrollHeaderPos: Ref<{ left: number; top: number; }>; scrollbarWidth: Ref; setData: (dataSource: TableRowData[]) => void; refreshTable: () => void; setTableElmWidth: (width: number) => void; emitScrollEvent: (e: WheelEvent) => void; updateThWidthListHandler: () => void; updateColumnFixedShadow: (target: HTMLElement, extra?: { skipScrollLimit?: boolean; }) => void; setUseFixedTableElmRef: (val: HTMLTableElement) => void; getThWidthList: (type?: 'default' | 'calculate') => { [x: string]: number; }; updateThWidthList: (trList: HTMLCollection | { [colKey: string]: number; }) => { [x: string]: number; }; addTableResizeObserver: (tableElement: HTMLDivElement) => void; updateTableAfterColumnResize: () => void; };