import { LineInfo } from '../../common';
/**
 * Section id used by the new non-journal-entry transaction line table
 * form fields. Mirrors `journalEntryTableSectionId` so caller wiring is
 * symmetric across the two tables.
 */
export declare const transactionLineTableSectionId = "transactionLineTableSection";
/** Header row height from Figma frame 5240:7220 (px). */
export declare const TRANSACTION_LINE_TABLE_HEADER_HEIGHT = 32;
/** Standard data-row height from Figma frame 5240:7220 (px). */
export declare const TRANSACTION_LINE_TABLE_ROW_HEIGHT = 48;
/** Compressed (quick-view / small window) row height. */
export declare const TRANSACTION_LINE_TABLE_ROW_HEIGHT_COMPACT = 48;
/**
 * Row height resolver. Today every row is the same height; isolating
 * this here so a future Update-all expansion can return a larger height
 * for the affected row without touching `react-window` wiring.
 */
export declare const getTransactionLineTableRowHeight: (_line: LineInfo) => number;
/**
 * Column keys used to address cells, sort, and width lookups.
 *
 * Differences vs. the journal-entry table:
 *   - no `name` column (the vendor / payee is rendered once at the
 *     transaction header, not per line)
 *   - no `debit` / `credit` split — a single `amount` column replaces them
 */
export declare const TRANSACTION_LINE_COLUMN_KEYS: readonly ["description", "category", "class", "project", "amount"];
export type TransactionLineColumnKey = (typeof TRANSACTION_LINE_COLUMN_KEYS)[number];
/** Compressed (quick-view / mobile) columns. */
export declare const TRANSACTION_LINE_COMPRESSED_COLUMN_KEYS: readonly ["description", "amount"];
export type TransactionLineCompressedColumnKey = (typeof TRANSACTION_LINE_COMPRESSED_COLUMN_KEYS)[number];
