import { FormCurrencyProps, FormDateProps, FormMultiSelectProps, FormSelectProps } from '@procore/core-react';
import { RowNode } from 'ag-grid-community';
import React from 'react';
export interface BulkEditResult {
    /** The id of the selected row node. The value is the output from the getRowId callback */
    id: number | string | undefined;
    /** The row index of the selected row node */
    rowIndex: RowNode['rowIndex'];
    /** The row data from before the bulk edit for the entire row */
    oldRowData: {
        [key: string]: any;
    };
    /** Row Data containing only the changed key/value pairs from the bulk edit */
    changedRowData: {
        [key: string]: any;
    };
    /** The entire updated row data including changes from the bulk edit */
    newRowData: {
        [key: string]: any;
    };
}
/**  For server side implementation, we may want to extend options to be an array,
 *   or a promise returning an array like server side filters */
export interface SelectBulkEditorParams extends Omit<FormSelectProps, 'name'> {
}
export interface MultiSelectBulkEditorParams extends Omit<FormMultiSelectProps, 'name'> {
}
export interface DateSelectBulkEditorParams extends FormDateProps {
}
export interface DateTimeSelectBulkEditorParams extends FormDateProps {
}
export interface CurrencyBulkEditorParams extends FormCurrencyProps {
}
export interface CompanyBulkEditorParams extends Omit<FormSelectProps, 'name'> {
    getCompanyName?: (option: any) => string;
    getImageURL?: (option: any) => string;
}
export interface PersonBulkEditorParams extends Omit<FormSelectProps, 'name'> {
    getCompanyName?: (option: any) => string;
    getImageURL?: (option: any) => string;
    getInitials?: (option: any) => string;
    getPersonName?: (option: any) => string;
}
interface BulkEditProps {
    onReset?: () => void;
}
export declare const BulkEdit: React.ForwardRefExoticComponent<BulkEditProps & React.RefAttributes<{}>>;
interface BulkEditPanelProps {
}
export declare const BulkEditPanel: React.FC<BulkEditPanelProps>;
export {};
