import { IgrGroupByRecord } from "./igr-group-by-record";
import { IgrGridValidationState } from "./igr-grid-validation-state";
import { IgrTreeGridRecord } from "./igr-tree-grid-record";
import { IgrGridBaseDirective } from "./igr-grid-base-directive";
import { RowType as RowType_internal } from "./RowType";
import { ContentChildrenManager } from "igniteui-react-core";
import { IgrCellType } from "./igr-cell-type";
/**
 * Interface representing a row in the grid. It is essentially the blueprint to a row object.
 * Contains definitions of properties and methods, relevant to a row
*/
export declare class IgrRowType {
    protected createImplementation(): RowType_internal;
    protected _implementation: any;
    protected mounted: boolean;
    get nativeElement(): HTMLElement;
    /**
     * @hidden
     */
    get i(): RowType_internal;
    protected onImplementationCreated(): void;
    protected _contentChildrenManager: ContentChildrenManager;
    constructor();
    protected _provideImplementation(i: any): void;
    /**
     * The index of the row within the grid
    */
    get index(): number;
    set index(v: number);
    get viewIndex(): number;
    set viewIndex(v: number);
    /**
     * Indicates whether the row is grouped.
    */
    get isGroupByRow(): boolean;
    set isGroupByRow(v: boolean);
    get isSummaryRow(): boolean;
    set isSummaryRow(v: boolean);
    get groupRow(): IgrGroupByRecord;
    set groupRow(v: IgrGroupByRecord);
    get key(): any;
    set key(v: any);
    get validation(): IgrGridValidationState;
    set validation(v: IgrGridValidationState);
    get data(): any;
    set data(v: any);
    /**
     * Optional
     * A list or an array of cells, that belong to the row
    */
    get cells(): IgrCellType[];
    set cells(v: IgrCellType[]);
    /**
     * Optional
     * Indicates whether the current row is disabled
    */
    get disabled(): boolean;
    set disabled(v: boolean);
    /**
     * Optional
     * Indicates whether the current row is pinned.
    */
    get pinned(): boolean;
    set pinned(v: boolean);
    /**
     * Optional
     * Indicates whether the current row is selected
    */
    get selected(): boolean;
    set selected(v: boolean);
    /**
     * Optional
     * Indicates whether the current row is expanded.
     * The value is true, if the row is expanded and false, if it is collapsed
    */
    get expanded(): boolean;
    set expanded(v: boolean);
    /**
     * Optional
     * Indicates whether the row is marked for deletion.
    */
    get deleted(): boolean;
    set deleted(v: boolean);
    /**
     * Optional
     * Indicates whether the row is currently being edited.
    */
    get inEditMode(): boolean;
    set inEditMode(v: boolean);
    /**
     * Optional
     * Contains the child rows of the current row, if there are any.
    */
    get children(): IgrRowType[];
    set children(v: IgrRowType[]);
    /**
     * Optional
     * Contains the parent row of the current row, if it has one.
     * If the parent row exist, it means that the current row is a child row
    */
    get parent(): IgrRowType;
    set parent(v: IgrRowType);
    /**
     * Optional
     * Indicates whether the current row has any child rows
    */
    get hasChildren(): boolean;
    set hasChildren(v: boolean);
    /**
     * Optional
     * Represents the hierarchical record associated with the row (for tree grids).
     * It is of type ITreeGridRecord, which contains the data, children, the hierarchical level, etc.
    */
    get treeRow(): IgrTreeGridRecord;
    set treeRow(v: IgrTreeGridRecord);
    get addRowUI(): boolean;
    set addRowUI(v: boolean);
    /**
     * Optional
     * Indicates whether the row is currently focused.
    */
    get focused(): boolean;
    set focused(v: boolean);
    /**
     * Represent the grid instance, the row belongs to
    */
    get grid(): IgrGridBaseDirective;
    set grid(v: IgrGridBaseDirective);
    get ephemeralKey(): string;
    findByName(name: string): any;
    setNativeElement(element: any): void;
    /**
     * Optional
     * A method to handle changing the value of elements of the row
     * It takes the new value as an argument
    
    */
    update(value: any): void;
    /**
     * Optional
     * A method to handle deleting rows
    
    */
    del(): any;
    /**
     * Optional
     * A method to handle pinning a row
    
    */
    pin(): void;
    /**
     * Optional
     * A method to handle unpinning a row, that has been pinned
    
    */
    unpin(): void;
}
