import { SortOrder } from '@zeniai/client-epic-state';
import { ResponsiveSized } from '../../../../../context/windowSizeProvider';
import { TransactionLineColumnKey, TransactionLineCompressedColumnKey } from '../common';
/** Header row height (Figma frame 5240:7220). */
export declare const DEFAULT_LIST_HEADER_HEIGHT_REGULAR = 32;
/** Sort key union for the non-JE transaction line table. */
export type TransactionLineSortKey = "description" | "category" | "class" | "amount";
export interface TransactionLineRowSortConfig {
    sortKey: TransactionLineSortKey;
    sortOrder: SortOrder;
}
/** Default sort the table opens with (mirrors the JE default). */
export declare const transactionLineDefaultSortConfig: TransactionLineRowSortConfig;
/**
 * Header item shape (mirrors `journalEntryHeaderConfig.ts` but typed
 * for the non-JE column key union).
 */
export interface TransactionLineRowHeaderItemData {
    customStyle: {
        cellStyle?: React.CSSProperties;
        common?: React.CSSProperties;
        quickView?: React.CSSProperties;
    };
    key: TransactionLineColumnKey | TransactionLineCompressedColumnKey;
    /** Default direction applied when the column is freshly clicked. */
    sortOrder: SortOrder;
    value: string;
    /** Fixed-pixel widths per breakpoint. */
    width: ResponsiveSized;
    /** Percentage of the content area (0–100) used when the table fits the viewport. */
    widthPercentage: number;
}
/**
 * Convenience narrowing helper used by the header click handler. The
 * compressed `amount` key is also sortable but the compressed view does
 * not show sort affordances, so this helper covers full-view sortable
 * keys only.
 */
export declare const isSortableKey: (key: string) => key is TransactionLineSortKey;
export declare const toTransactionLineSortKey: (key: string) => TransactionLineSortKey;
