/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnDestroy, SimpleChanges, OnChanges, EventEmitter } from '@angular/core';
import { ContextService } from '../common/provider.service';
import { HighlightItem } from './highlight-item';
import { RowArgs } from '../rendering/common/row-args';
import * as i0 from "@angular/core";
/**
* Stores the row and cell highlight state of the Grid.
*
* @example
* ```typescript
*
*
*
* ```
* @remarks
* Applied to: {@link GridComponent}.
*/
export declare class HighlightDirective implements OnChanges, OnDestroy {
private ctx;
/**
* Stores the highlighted items keys.
* @default []
*/
highlightedKeys: HighlightItem[];
/**
* Sets the item key to store in `highlightedKeys`. The Grid uses the row index as the default item key.
*/
highlightItemKey: string | ((context: RowArgs) => any);
/**
* Sets the column key for a data cell. The Grid uses the column index as the default column key.
*/
highlightColumnKey: string | ((column: any, columnIndex: number) => any);
/**
* Emits when the `highlightedKeys` collection changes.
*/
highlightedKeysChange: EventEmitter;
private rowHighlightState;
private cellHighlightState;
private lastHighlightState;
constructor(ctx: ContextService);
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
/**
* @hidden
*/
isRowHighlighted(row: RowArgs): boolean;
/**
* @hidden
*/
isCellHighlighted(row: any, column: any, colIndex: number): boolean;
private getItemKey;
private getHighlightItem;
private setState;
private notifyChange;
private reset;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}