import { BookmarkTableRowIdentifierDo, IBookmarkTableRowIdentifierComponentDo, PageWithTable, TableRow } from '../index';
/**
 * Basic factory to create data objects that uniquely identify a row in a table page via the primary keys.
 *
 * Since data types are much more rudimentary in JavaScript, this factory only creates a subset of all possible row
 * identifier components. For example, all numeric values are returned as {@link BookmarkTableRowIdentifierLongComponentDo}
 * because there is only one number data type and this factory cannot decide whether a value should be a `Long` or an
 * `Integer`. Likewise, IDs are always returned as {@link BookmarkTableRowIdentifierStringComponentDo}, because they
 * are usually represented by strings without any additional metadata. If such identifiers are persisted, they cannot
 * be found again automatically (e.g. for automatic value migration).
 */
export declare class BookmarkTableRowIdentifierDoFactory {
    createTableRowIdentifier(tablePage: PageWithTable, row: TableRow, allowObjectFallback?: boolean): BookmarkTableRowIdentifierDo;
    createTableRowIdentifierComponent(tablePage: PageWithTable, key: any, allowObjectFallback?: boolean): IBookmarkTableRowIdentifierComponentDo;
}
//# sourceMappingURL=BookmarkTableRowIdentifierDoFactory.d.ts.map