import ApolloClient from "apollo-client"; import { DocumentNode } from "graphql"; import * as React from "react"; export declare function submitChangesWithMutation(options: { changes: { [id: string]: object; }; variables?: object; updateMutation: DocumentNode; client: ApolloClient; }): Promise; export interface ITableLocalChangesApi { setLocalDataChange: (id: string, column: string, value: any) => void; moveRow: (dragIndex: number, hoverIndex: number) => void; submitLocalDataChanges: () => void; } interface IProps { data: TData[]; onSubmit: (changes: { [id: string]: Partial; }) => Promise; orderColumn: string; children: (injectedProps: { tableLocalChangesApi: ITableLocalChangesApi; localChangesCount: number; data: TData[]; loading: boolean; }) => React.ReactNode; } interface IState { changedOrder: string[] | null; changes: { [id: string]: Partial; }; loading: boolean; } export declare class TableLocalChanges extends React.Component, IState> { static contextType: React.Context; protected static defaultProps: { orderColumn: string; }; private tableLocalChangesApi; constructor(props: IProps); componentDidMount(): void; componentWillUnmount(): void; render(): JSX.Element; private patchedData; private setLocalDataChange; private moveRow; private submitLocalDataChanges; } export {};