import { ColDef, SortModelItem } from 'ag-grid-community';
import { IArchbaseDataSourceBase } from '@archbase/data';
import { ArchbaseFilterDefinition, ArchbaseActiveFilter } from '../../filters/ArchbaseCompositeFilters.types';
/**
 * Maximum page size for MIT license compatibility
 */
export declare const MAX_PAGE_SIZE = 100;
/**
 * Safely get row ID from row data
 */
export declare const safeGetRowId: <T extends object>(row: T, getRowId?: (row: T) => any) => string | number | undefined;
/**
 * Check if DataSource is V2
 */
export declare const isDataSourceV2: (ds: any) => boolean;
/**
 * Get records from DataSource (V1/V2 compatible)
 */
export declare const getRecordsFromDataSource: <T>(ds: IArchbaseDataSourceBase<T>) => T[];
/**
 * Get options from DataSource (V1 only)
 */
export declare const getDataSourceOptions: (ds: any) => any;
/**
 * Get current page from DataSource
 */
export declare const getCurrentPageFromDataSource: (ds: any) => number;
/**
 * Convert hex color to RGB string
 */
export declare const hexToRgb: (hex: string) => string;
/**
 * Build global filter RSQL expression
 */
export declare const buildGlobalFilterExpression: (filterValue: string, columns: ColDef[]) => string | undefined;
/**
 * Build filter RSQL expression from AG Grid filter model
 */
export declare const buildFilterExpression: (filterModel: Record<string, any>, columns: ColDef[], quickFilterValue?: string) => string | undefined;
/**
 * Convert AG Grid sort model to DataSource format
 */
export declare const convertSortModelToDataSource: (sortModel: SortModelItem[]) => string[];
/**
 * Get initial sort model from DataSource
 */
export declare const getInitialSortModel: (dataSource: any) => SortModelItem[];
/**
 * Convert ArchbaseActiveFilter[] to AG Grid filter model
 */
export declare const convertActiveFiltersToAgGridModel: (activeFilters: ArchbaseActiveFilter[]) => Record<string, any>;
/**
 * Convert columns to ArchbaseFilterDefinition[]
 */
export declare const convertColumnsToFilterDefinitions: (columns: ColDef[], options?: {
    includeColumns?: string[];
    excludeColumns?: string[];
    onlyFilterable?: boolean;
}) => ArchbaseFilterDefinition[];
/**
 * Get AG Grid filter type from data type
 */
export declare const getAgGridFilterType: (dataType: string) => string;
/**
 * Get alignment class for AG Grid
 */
export declare const getAlignmentClass: (align?: "left" | "center" | "right") => string;
/**
 * Get default alignment by data type
 */
export declare const getDefaultAlignment: (dataType: string) => "left" | "center" | "right";
