import { PropsWithChildren } from 'react';
import { Data } from '../../../types/data';
import { Column, SortData } from '../List.model';
export interface ListHeaderProps<T extends Data> {
    /** Column definitions */
    columns: Column<T>[];
    /** Sizes of each column */
    columnSizes: string;
    /** Spacing between columns */
    columnGap: string;
    /** Header row height */
    rowHeight: string;
    /** Size of the checkbox */
    actionSize: string;
    /** Horizontal alignment of text */
    horizontalTextAlign: 'left' | 'right' | 'center';
    /** Vertical alignment of text */
    verticalTextAlign: 'start' | 'center' | 'end';
    /** Whether or not the item is selected (default: false) */
    itemSelected?: boolean;
    /** Defines how the list data should be sorted */
    sortData?: SortData<T>;
    /** Defines whether the create button will be rendered (default: true) */
    showCreateButton?: boolean;
    /** Defines whether a checkbox for each item should be rendered (default: true) */
    showItemCheckbox?: boolean;
    /** Whether or not the checkbox needs to be disabled (default: false) */
    isCheckboxDisabled?: boolean;
    /** Raised when the header checkbox has been changed. Checked state is sent back. */
    onCheckboxToggled?: (checked: boolean) => void;
    /** Callback to emit when a sort event occurs. Name of the property and order of the direction are sent back. */
    onSortChanged?: (sort: SortData<T>) => void;
    /** CSS Class name for additional styles */
    className?: string;
    /** called when the column sizes should be reset */
    onResetColumnSizes: () => void;
    /** called when the column sizes should be updated */
    onColumnSizesChanged: (columnSizes: string) => void;
    /** Whether or not the list has an action column */
    hasActionColumn: boolean;
}
/**
 * Renders the headers for the list component
 * @example
 * <ListHeader
 *  columns={[{propertyName: 'id', size: '1fr', label: 'Id'}]}
 *  columnSizes={'1fr'}
 *  columnGap={'5px'}
 *  rowHeight={'44px'}
 *  horizontalTextAlign={'left'}
 *  verticalTextAlign={'center'}
 * />
 */
export declare const ListHeader: <T extends Data>({ columns, columnSizes, columnGap, rowHeight, actionSize, horizontalTextAlign, verticalTextAlign, itemSelected, sortData, showItemCheckbox, isCheckboxDisabled, onCheckboxToggled, onSortChanged, className, onResetColumnSizes, onColumnSizesChanged, hasActionColumn, }: PropsWithChildren<ListHeaderProps<T>>) => JSX.Element;
//# sourceMappingURL=ListHeader.d.ts.map