import { BaseTool } from '../base';
import { QuickbaseClient } from '../../client/quickbase';
/**
 * Parameters for update_record tool
 */
export interface UpdateRecordParams {
    /**
     * The ID of the table containing the record
     */
    table_id: string;
    /**
     * The ID of the record to update
     */
    record_id: string;
    /**
     * The data to update in the record, formatted as a JSON object
     * with field IDs or field names as keys
     */
    data: Record<string, any>;
}
/**
 * Response from updating a record
 */
export interface UpdateRecordResult {
    /**
     * The ID of the updated record
     */
    recordId: string;
    /**
     * The ID of the table containing the record
     */
    tableId: string;
    /**
     * Update timestamp
     */
    updatedTime?: string;
    /**
     * Fields that were updated
     */
    updatedFields?: string[];
}
/**
 * Tool for updating an existing record in a Quickbase table
 */
export declare class UpdateRecordTool extends BaseTool<UpdateRecordParams, UpdateRecordResult> {
    name: string;
    description: string;
    /**
     * Parameter schema for update_record
     */
    paramSchema: {
        type: string;
        properties: {
            table_id: {
                type: string;
                description: string;
            };
            record_id: {
                type: string;
                description: string;
            };
            data: {
                type: string;
                description: string;
                additionalProperties: boolean;
            };
        };
        required: string[];
    };
    /**
     * Constructor
     * @param client Quickbase client
     */
    constructor(client: QuickbaseClient);
    /**
     * Run the update_record tool
     * @param params Tool parameters
     * @returns Updated record information
     */
    protected run(params: UpdateRecordParams): Promise<UpdateRecordResult>;
}
