import { BaseHederaQueryTool, HederaAgentKit, GenericPluginContext } from 'hedera-agent-kit';
import { Bee } from '@ethersphere/bee-js';
import { z } from 'zod';
import { ToolResponse } from '../utils';
import { SwarmConfig } from '../config';

declare const UploadDataSchema: z.ZodObject<{
    data: z.ZodString;
    redundancyLevel: z.ZodOptional<z.ZodNumber>;
    postageBatchId: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    data: string;
    redundancyLevel?: number | undefined;
    postageBatchId?: string | undefined;
}, {
    data: string;
    redundancyLevel?: number | undefined;
    postageBatchId?: string | undefined;
}>;
export declare class UploadDataTool extends BaseHederaQueryTool<typeof UploadDataSchema> {
    name: string;
    description: string;
    namespace: string;
    specificInputSchema: z.ZodObject<{
        data: z.ZodString;
        redundancyLevel: z.ZodOptional<z.ZodNumber>;
        postageBatchId: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        data: string;
        redundancyLevel?: number | undefined;
        postageBatchId?: string | undefined;
    }, {
        data: string;
        redundancyLevel?: number | undefined;
        postageBatchId?: string | undefined;
    }>;
    bee: Bee;
    config: SwarmConfig;
    constructor(params: {
        hederaKit: HederaAgentKit;
        config: SwarmConfig;
        logger?: GenericPluginContext['logger'];
        bee: Bee;
    });
    protected executeQuery(input: z.infer<typeof UploadDataSchema>): Promise<ToolResponse | string>;
}
export {};
