import { PublicKey, TransactionSignature, VersionedTransaction } from "@solana/web3.js";
import { ParsedAgentState } from "./state/agent";
import { VersionedTxs } from "./utils/txUtils";
export declare class AgentsSDK {
    private sdkParams;
    constructor(params: {
        RPC_URL: string;
        payer?: PublicKey;
        priorityFee?: number;
    });
    setPayer(payer: PublicKey): Promise<void>;
    createAgent(params?: {}): Promise<{
        blockhash: string;
        lastValidBlockHeight: number;
        versionedTxs: VersionedTransaction[];
        batches: number[];
        agent: string;
        agentState: string;
        agentUuid: string;
    }>;
    topUpBalance(params: {
        amount: number;
        mint?: PublicKey;
    }): Promise<VersionedTxs>;
    static validateTopUpTx(params: {
        txId: TransactionSignature;
        RPC_URL: string;
    }): Promise<{
        user: string;
        mint: string;
        amount: number;
    }>;
    validateTopUpTx(txId: TransactionSignature): Promise<{
        user: string;
        mint: string;
        amount: number;
    }>;
    static validateCreateAgentTx(params: {
        txId: TransactionSignature;
        RPC_URL: string;
    }): Promise<{
        agent: string;
        agentState: string;
        agentUuid: string;
        creator: string;
    }>;
    validateCreateAgentTx(txId: TransactionSignature): Promise<{
        agent: string;
        agentState: string;
        agentUuid: string;
        creator: string;
    }>;
    getAgentState(uuid: string): Promise<ParsedAgentState>;
    getAgentsByCreator(creator: string): Promise<ParsedAgentState[]>;
    getAllAgents(): Promise<ParsedAgentState[]>;
    sendSignedVersionedTxs(txs: VersionedTxs, simulateTransactions?: boolean): Promise<TransactionSignature[]>;
}
