import { default as React } from 'react';
import { TablePageConfig } from '@kottster/common';
import { TableColumn } from '../table-row';
export interface RecordModalProps {
    pageSettingsKey: string;
    defaultTablePageConfig: TablePageConfig;
    primaryKeyValue?: number | string;
    /** Title of the modal */
    title?: string;
    /** Width of the modal */
    width?: number;
    columns?: TableColumn[];
    /**
     * Function to transform all fields.
     * Executes after fields are auto-generated or provided via the fields prop.
     * @param fields - The current array of field definitions
     * @returns A new array of transformed field definitions
     */
    /**
     * Object with field keys as properties and field overrides as values.
     * Use this to override specific properties of individual fields.
     */
    submitLoading?: boolean;
    mode: 'view' | 'create' | 'update';
    onDelete: () => void;
    onOpenUpdate: () => void;
    onCreate: (data: Record<string, any>) => void;
    onUpdate: (data: Record<string, any>) => void;
    onClose: () => void;
    initialValues?: Record<string, any>;
}
declare function RecordModal({ primaryKeyValue, width, pageSettingsKey, defaultTablePageConfig, mode, onDelete, onOpenUpdate, onCreate, onUpdate, onClose, columns: columnsProp, title: titleProp, submitLoading, initialValues, }: RecordModalProps): React.JSX.Element;
export default RecordModal;
