import { AfterViewInit, OnChanges, EventEmitter, ElementRef } from '@angular/core'; import { Column, GridOptions, GridNexaPreset, GridNexaStateStorageOptions, GridNexaSummaryOptions, GridNexaSavedViewsOptions, GridNexaCommandPaletteOptions, GridNexaChangeReviewOptions, GridNexaValidationOptions, GridNexaDiagnosticsOptions, MergedHeader, ColumnFilterModel, AdvancedFilterModel, PivotAggregation, GridTransaction, GridNexaAiOptions, ServerSideOperationState } from '@gridnexa/core'; export * from '@gridnexa/core'; interface GridNexaAngularOptions> extends GridOptions { pageSize?: number; groupBy?: keyof T & string; } declare class GridNexaAngularComponent> implements AfterViewInit, OnChanges { columns: Column[]; rows: T[]; className: string | undefined; theme: GridNexaAngularOptions["theme"]; density: GridNexaAngularOptions["density"]; height: number | string | undefined; unstyled: boolean; classNames: GridNexaAngularOptions["classNames"]; preset: GridNexaPreset | undefined; stateStorage: GridNexaStateStorageOptions | undefined; summaries: GridNexaSummaryOptions | undefined; views: GridNexaSavedViewsOptions | undefined; commandPalette: GridNexaCommandPaletteOptions | undefined; changeReview: GridNexaChangeReviewOptions | undefined; validation: GridNexaValidationOptions | undefined; diagnostics: GridNexaDiagnosticsOptions | undefined; loading: boolean; error: unknown; emptyState: unknown; toolbar: GridNexaAngularOptions["toolbar"]; footer: GridNexaAngularOptions["footer"]; sidePanel: GridNexaAngularOptions["sidePanel"]; fillWidth: GridNexaAngularOptions["fillWidth"]; columnTools: unknown; icons: Record | undefined; textDisplay: unknown; createRow: (() => T) | undefined; apiRef: { current: unknown; } | undefined; getRowClassName: GridNexaAngularOptions["getRowClassName"]; getCellClassName: GridNexaAngularOptions["getCellClassName"]; getHeaderClassName: GridNexaAngularOptions["getHeaderClassName"]; mergedHeaders: MergedHeader[] | undefined; rowNumbers: boolean | undefined; checkboxSelection: boolean; enableRangeSelection: boolean; enableFillHandle: boolean; enableUndoRedo: boolean; enableRowReorder: boolean; rowReorderPosition: GridNexaAngularOptions["rowReorderPosition"]; quickFilterText: string; columnFilters: Record | undefined; externalFilter: GridNexaAngularOptions["externalFilter"]; advancedFilter: GridNexaAngularOptions["advancedFilter"]; advancedFilterModel: AdvancedFilterModel | null | undefined; pageSize: number | undefined; groupBy: keyof T & string | undefined; pivotBy: keyof T & string | undefined; pivotValueColumns: Array | undefined; pivotAggregation: PivotAggregation; getRowId: GridNexaAngularOptions["getRowId"]; getTreeDataPath: GridNexaAngularOptions["getTreeDataPath"]; masterDetailRenderer: GridNexaAngularOptions["masterDetailRenderer"]; transaction: GridTransaction | undefined; localeText: Record | undefined; ai: GridNexaAiOptions | undefined; rowSelectionChange: EventEmitter; selectionChanged: EventEmitter<{ selectedRows: T[]; selectedRowIds: Array; }>; rowSelected: EventEmitter<{ row: T; rowIndex: number; selected: boolean; selectedRows: T[]; }>; selectedRowChange: EventEmitter<{ row: T | null; rowIndex: number | null; selectedRows: T[]; }>; rowOrderChange: EventEmitter<{ rows: T[]; movedRow: T; sourceIndex: number; targetIndex: number; }>; cellClick: EventEmitter<{ row: T; rowIndex: number; column: Column; }>; cellDoubleClick: EventEmitter<{ row: T; rowIndex: number; column: Column; }>; cellValueChange: EventEmitter<{ row: T; rowIndex: number; column: Column; oldValue: unknown; newValue: unknown; }>; cellEditStart: EventEmitter<{ row: T; rowIndex: number; column: Column; value: unknown; }>; cellEditStop: EventEmitter<{ row: T; rowIndex: number; column: Column; oldValue: unknown; newValue: unknown; }>; sortChanged: EventEmitter<{ columnId: string; direction: "asc" | "desc"; }[]>; filterChanged: EventEmitter>; columnMoved: EventEmitter<{ columnId: string; sourceIndex: number; targetIndex: number; columnIds: string[]; }>; columnResized: EventEmitter<{ columnId: string; width: number; }>; columnVisible: EventEmitter<{ columnId: string; visible: boolean; hiddenColumnIds: string[]; }>; columnPinned: EventEmitter<{ columnId: string; pinned: "left" | "right" | null; }>; saveAll: EventEmitter<{ rows: T[]; selectedRows: T[]; visibleRows: T[]; reason: "toolbar" | "api"; }>; dataChange: EventEmitter<{ rows: T[]; previousRows: T[]; reason: string; }>; rowAdd: EventEmitter<{ row: T; rowIndex: number; rows: T[]; }>; rowDelete: EventEmitter<{ row: T; rowIndex: number; rows: T[]; remainingRows: T[]; }>; rowsDelete: EventEmitter<{ rows: T[]; rowIndexes: number[]; remainingRows: T[]; }>; advancedFilterModelChange: EventEmitter; pivotModelChange: EventEmitter<{ groupBy?: keyof T & string; pivotBy?: keyof T & string; pivotValueColumns: Array; pivotAggregation: PivotAggregation; }>; serverSideOperation: EventEmitter>; host?: ElementRef; private selected; private pageIndex; private sortState; private hiddenColumnIds; private activeCell; private rangeAnchor; private rangeEnd; private contextMenu; private expandedDetailIds; private collapsedGroups; private collapsedTreeKeys; private findText; private toolsOpen; private draggedColumnId; private draggedRowIndex; private columnWidths; private aiPrompt; private aiPlan; private aiBusy; private aiError; private undoStack; private redoStack; private hydratedStorageKey; private persistTimer; ngAfterViewInit(): void; ngOnChanges(): void; private rowId; getRows(): T[]; setRows(rows: T[]): void; addRow(row?: T): void; deleteRow(rowIndex: number): void; deleteSelectedRows(): void; saveAllRows(reason?: "toolbar" | "api"): void; exportDiagnostics(): void; private createRowValue; private emitDataChange; private attachApi; private presetDefaults; private effectiveToolbar; private effectiveFooter; private effectiveFillWidth; private effectivePageSize; private effectiveRowNumbers; private effectiveCheckboxSelection; private effectiveRangeSelection; private effectiveFillHandle; private effectiveUndoRedo; private applyPersistedState; private schedulePersistState; private applyTransaction; private visibleRows; private exportRows; private setCellValue; private undo; private redo; private fillDown; private copyActiveCell; private pasteActiveCell; private moveRow; private reorderRow; private moveColumn; private makeDisplayRows; private isCellInRange; private startColumnResize; private pinnedStyle; private columnWidth; private fillWidthColumnIds; private tableMinimumWidth; private updateAdvancedFilter; private updatePivot; private resolveColumn; private createAiRequest; private applyAiAction; private applyAiPlan; private requestAiPlan; private render; private renderOverlay; private renderToolbar; private renderAiCommand; private renderTable; private renderMergedHeaders; private appendGroupRow; private appendDetailRow; private appendRow; private editCell; private createEditor; private renderContextMenu; private renderToolsPanel; private select; private renderStatus; private button; } export { GridNexaAngularComponent, type GridNexaAngularOptions };