import * as React from 'react';
import { GridHydrateRowsValue } from '@mui/x-data-grid/internals';
import { GridRowEntry, GridRowId, GridRowModel } from '@mui/x-data-grid';
import { GridApiPro } from '../../../models/gridApiPro';
import type { GridPinnedRowsProp } from './gridRowPinningInterface';
declare type GridPinnedRowPosition = keyof GridPinnedRowsProp;
export declare function addPinnedRow({ groupingParams, rowModel, rowId, position, apiRef, isAutoGenerated, }: {
    groupingParams: GridHydrateRowsValue;
    rowModel: GridRowModel;
    rowId: GridRowId;
    position: GridPinnedRowPosition;
    apiRef: React.MutableRefObject<GridApiPro>;
    isAutoGenerated: boolean;
}): {
    idRowsLookup: {
        [x: string]: import("@mui/x-data-grid").GridValidRowModel;
        [x: number]: import("@mui/x-data-grid").GridValidRowModel;
    };
    tree: {
        [x: string]: import("@mui/x-data-grid").GridRowTreeNodeConfig;
        [x: number]: import("@mui/x-data-grid").GridRowTreeNodeConfig;
    };
    additionalRowGroups: {
        pinnedRows: {
            top?: GridRowEntry<import("@mui/x-data-grid").GridValidRowModel>[] | undefined;
            bottom?: GridRowEntry<import("@mui/x-data-grid").GridValidRowModel>[] | undefined;
        };
    };
    groupingName: string;
    treeDepth: number;
    ids: GridRowId[];
    idToIdLookup: Record<string, GridRowId>;
};
export declare function removePinnedRow({ groupingParams, rowId, apiRef, }: {
    groupingParams: GridHydrateRowsValue;
    rowId: GridRowId;
    apiRef: React.MutableRefObject<GridApiPro>;
}): void;
export declare const useGridRowPinningPreProcessors: (apiRef: React.MutableRefObject<GridApiPro>) => void;
export {};
