import type { Environment } from '@contember/binding';
import { Justification } from '@contember/ui';
import { ComponentType, ReactElement, ReactNode } from 'react';
import type { FilterRendererProps } from './DataGridColumn';
import type { DataGridFilterArtifact } from './DataGridFilterArtifact';
import { DataGridOrderDirection } from './DataGridOrderDirection';
import type { DataGridSetFilter } from './DataGridSetFilter';
import type { DataGridSetOrderBy } from './DataGridSetOrderBy';
export interface DataGridHeaderCellPublicProps {
    header?: ReactNode;
    shrunk?: boolean;
    headerJustification?: Justification;
    ascOrderIcon?: ReactNode;
    descOrderIcon?: ReactNode;
}
export interface DataGridHeaderCellInternalProps {
    environment: Environment;
    hasFilter: boolean;
    emptyFilterArtifact: DataGridFilterArtifact;
    filterArtifact: DataGridFilterArtifact;
    orderState: {
        direction: Exclude<DataGridOrderDirection, null>;
        index: number | undefined;
    } | undefined;
    setFilter: DataGridSetFilter;
    setOrderBy: DataGridSetOrderBy;
    filterRenderer: ComponentType<FilterRendererProps<DataGridFilterArtifact>> | undefined;
}
export interface DataGridHeaderCellProps extends DataGridHeaderCellInternalProps, DataGridHeaderCellPublicProps {
}
export declare function DataGridHeaderCell({ ascOrderIcon, descOrderIcon, emptyFilterArtifact, environment, filterArtifact, filterRenderer, hasFilter, header, headerJustification, orderState, setFilter, setOrderBy, shrunk, }: DataGridHeaderCellProps): ReactElement;
//# sourceMappingURL=DataGridHeaderCell.d.ts.map