import { type KeyboardEvent, type MouseEvent } from "react";
import { type ObjRef } from "@gooddata/sdk-model";
import { type IUiAsyncTableColumn, type IUiAsyncTableFilterOption } from "../types.js";
export declare const getColumnWidth: (renderMenu: boolean, isLarge: boolean, widthProp?: number | undefined) => number | undefined;
export declare const getItemKey: <T extends {
    id: string;
} | {
    ref: ObjRef;
}>(item: T) => string;
export declare const getColumnWidths: <T extends {
    id: string;
} | {
    ref: ObjRef;
}>(columns: IUiAsyncTableColumn<T>[], hasCheckbox: boolean, isLargeRow: boolean) => (number | undefined)[];
export declare const getFilterOptionsMap: (options: IUiAsyncTableFilterOption[]) => Map<string, IUiAsyncTableFilterOption>;
export declare const getColumnHeaderId: (key: string) => string;
export declare const getRowLabelId: (key: number) => string;
export declare const getRowId: (itemId: string) => string;
export declare const getCellId: (itemId: string, columnIndex: number) => string;
export declare const getFilterDropdownId: (label: string) => string;
export declare const stopPropagationCallback: <T extends HTMLElement>(event: KeyboardEvent<T> | MouseEvent<T, globalThis.MouseEvent>, callback?: (() => void) | undefined) => void;
export declare const computeProportionalWidth: (originalColumnWidth: number, availableWidth: number, columnsWidthSum: number) => number;
//# sourceMappingURL=utils.d.ts.map