import { GridFilterModel, GridRowId, GridSortModel, GridColDef } from '@mui/x-data-grid';
import { ArchbaseFilterDefinition, ArchbaseActiveFilter } from '../../filters/ArchbaseCompositeFilters.types';
/**
 * Obtém o ID de uma linha de forma segura
 */
export declare const safeGetRowId: <T extends object>(row: T, getRowId?: (row: T) => any) => GridRowId | undefined;
/**
 * Constrói uma expressão de busca global
 */
export declare const buildGlobalFilterExpression: (filterValue: string, columns: any[]) => string | undefined;
/**
 * Constrói uma expressão de filtro
 */
export declare const buildFilterExpression: (filterModel: GridFilterModel, columns: any[]) => string | undefined;
/**
 * Converte valores hexadecimais para RGB
 */
export declare const getRgbValues: (hexColor: string) => string;
/**
 * Obtém o modelo de ordenação inicial a partir do DataSource
 */
export declare const getInitialSortModel: (dataSource: any) => GridSortModel;
/**
 * Converte RSQL para GridFilterModel do MUI X DataGrid
 * Permite compatibilidade entre ArchbaseCompositeFilters e o sistema nativo do MUI
 */
export declare const convertRSQLToFilterModel: (rsql: string | undefined, columns: GridColDef[]) => GridFilterModel;
/**
 * Converte ArchbaseActiveFilter[] para GridFilterModel
 */
export declare const convertActiveFiltersToFilterModel: (activeFilters: ArchbaseActiveFilter[]) => GridFilterModel;
/**
 * Converte colunas do Grid para ArchbaseFilterDefinition[]
 * Permite gerar automaticamente as definições de filtro a partir das colunas
 */
export declare const convertColumnsToFilterDefinitions: (columns: GridColDef[], options?: {
    includeColumns?: string[];
    excludeColumns?: string[];
    onlyFilterable?: boolean;
}) => ArchbaseFilterDefinition[];
/**
 * Converte ArchbaseFilterDefinition para GridColDef[]
 * Útil para criar colunas automaticamente a partir de definições de filtro
 */
export declare const convertFilterDefinitionsToColumns: (definitions: ArchbaseFilterDefinition[]) => GridColDef[];
