import { FormGroup } from "@angular/forms";
import { Injector } from "@angular/core";
import { EditBaseComponent } from "./editbase.component";
import { State } from "@progress/kendo-data-query";
import { GridDataResult, DataStateChangeEvent, GridComponent } from "@progress/kendo-angular-grid";
import { BaseUserService } from "../../services/baseuser.service";
import * as i0 from "@angular/core";
export declare abstract class EditGridComponent<T, TUserService extends BaseUserService> extends EditBaseComponent<TUserService> {
    Form: FormGroup | null;
    data: T[];
    GridView: GridDataResult;
    State: State;
    grid: GridComponent | null;
    editedRowIndex: number | null;
    constructor(injector: Injector);
    protected abstract initForm(item: T): FormGroup;
    editHandler({ sender, rowIndex, dataItem }: {
        sender: any;
        rowIndex: any;
        dataItem: any;
    }): void;
    addHandler({ sender }: {
        sender: any;
    }): void;
    cancelHandler({ sender, rowIndex }: {
        sender: any;
        rowIndex: any;
    }): void;
    closeEditor(grid: any, rowIndex?: number | null, keepForm?: boolean): void;
    LoadGrid(): void;
    removeHandler({ dataItem }: {
        dataItem: any;
    }): void;
    dataStateChange(state: DataStateChangeEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EditGridComponent<any, any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<EditGridComponent<any, any>>;
}
//# sourceMappingURL=editgrid.component.d.ts.map