import { LocationDescriptor } from 'history';
import React from 'react';
import { Data } from '../../../types';
import { ListElement } from '../../List';
import { PageHeaderActionItemProps } from '../../PageHeader';
import { QuickEditConfig, QuickEditRegistration } from '../Explorer.model';
export interface useQuickEditProps<T extends Data> {
    listRef: React.RefObject<ListElement>;
    registrations: QuickEditRegistration<T>[] | undefined;
    hasData: boolean;
    defaultItem: T;
    quickEditConfig?: QuickEditConfig;
    collapseFilters: () => void;
    generateItemLink?: (data: T) => LocationDescriptor<unknown>;
}
export interface useQuickEditReturnType<T extends Data> {
    readonly isQuickEditMode: boolean;
    readonly quickEditAction?: PageHeaderActionItemProps;
    readonly QuickEditContextProvider: React.FC;
    readonly quickEditStation: JSX.Element | undefined;
    readonly changeSelectedItem: (item: T, detailsLink?: LocationDescriptor<unknown>) => Promise<void>;
}
export declare const useQuickEdit: <T extends Data>({ hasData, listRef, defaultItem, registrations, quickEditConfig, collapseFilters, generateItemLink, }: useQuickEditProps<T>) => useQuickEditReturnType<T>;
//# sourceMappingURL=useQuickEdit.d.ts.map