import React from 'react';
import PropTypes from 'prop-types';
import BaseComponent from '../_base/baseComponent';
import { TableContextProps } from './table-context';
import { TableComponents, OnHeaderRow, Fixed } from './interface';
import type { TableHeaderCell } from './TableHeader';
export interface TableHeaderRowProps {
    components?: TableComponents;
    row?: TableHeaderCell[];
    prefixCls?: string;
    onHeaderRow?: OnHeaderRow<any>;
    index?: number;
    style?: React.CSSProperties;
    columns?: any[];
    fixed?: Fixed;
    selectedRowKeysSet: Set<any>;
}
export default class TableHeaderRow extends BaseComponent<TableHeaderRowProps, Record<string, any>> {
    static contextType: React.Context<TableContextProps>;
    static propTypes: {
        components: PropTypes.Requireable<object>;
        row: PropTypes.Requireable<any[]>;
        prefixCls: PropTypes.Requireable<string>;
        onHeaderRow: PropTypes.Requireable<(...args: any[]) => any>;
        index: PropTypes.Requireable<NonNullable<string | number>>;
        style: PropTypes.Requireable<object>;
        columns: PropTypes.Requireable<any[]>;
        fixed: PropTypes.Requireable<NonNullable<string | boolean>>;
        selectedRowKeysSet: PropTypes.Validator<Set<unknown>>;
    };
    static defaultProps: {
        onHeaderRow: (...args: any[]) => void;
        prefixCls: "semi-table";
        columns: [];
        components: {
            header: {
                wrapper: string;
                row: string;
                cell: string;
            };
        };
    };
    get adapter(): {
        getContext(key: string): any;
        getContexts(): any;
        getProp(key: string): any;
        getProps(): TableHeaderRowProps;
        getState(key: string): any;
        getStates(): Record<string, any>;
        setState<K extends string>(s: Pick<Record<string, any>, K>, callback?: any): void;
        getCache(c: string): any;
        getCaches(): any;
        setCache(key: any, value: any): void;
        stopPropagation(e: any): void;
        persistEvent: (event: any) => void;
    };
    headerNode: HTMLElement;
    context: TableContextProps;
    constructor(props: TableHeaderRowProps);
    cacheRef: (node: HTMLElement) => void;
    componentDidUpdate(prevProps: TableHeaderRowProps): void;
    render(): React.JSX.Element;
}
