import { Transaction } from "@mysten/sui/transactions";
type AgentChain = "ethereum-mainnet" | "ethereum-seplolia" | "ethereum-holesky" | "ethereum-hoodi" | "mina-mainnet" | "mina-devnet" | "zeko-testnet" | "zeko-alphanet" | "sui-mainnet" | "sui-testnet" | "sui-devnet" | "solana-mainnet" | "solana-testnet" | "solana-devnet" | "solana-devnet" | "walrus-mainnet" | "walrus-testnet" | string;
export interface Agent {
    id: string;
    name: string;
    image?: string;
    description?: string;
    site?: string;
    dockerImage: string;
    dockerSha256?: string;
    minMemoryGb: number;
    minCpuCores: number;
    supportsTEE: boolean;
    chains: AgentChain[];
    createdAt: number;
    updatedAt: number;
    version: number;
}
export interface Developer {
    id: string;
    name: string;
    github: string;
    image?: string;
    description?: string;
    site?: string;
    owner: string;
    agents: string[];
    createdAt: number;
    updatedAt: number;
    version: number;
}
export interface DeveloperNames {
    id: string;
    developer_address: string;
    names: string[];
    version: number;
}
export declare class AgentRegistry {
    private readonly registry;
    constructor(params: {
        registry: string;
    });
    static createAgentRegistry(params: {
        name: string;
    }): Transaction;
    createDeveloper(params: {
        name: string;
        github: string;
        image?: string;
        description?: string;
        site?: string;
    }): Transaction;
    updateDeveloper(params: {
        name: string;
        github: string;
        image?: string;
        description?: string;
        site?: string;
    }): Transaction;
    removeDeveloper(params: {
        name: string;
        agentNames: string[];
    }): Transaction;
    createAgent(params: {
        developer: string;
        name: string;
        image?: string;
        description?: string;
        site?: string;
        docker_image: string;
        docker_sha256?: string;
        min_memory_gb: number;
        min_cpu_cores: number;
        supports_tee: boolean;
        chains: AgentChain[];
    }): Transaction;
    updateAgent(params: {
        developer: string;
        name: string;
        image?: string;
        description?: string;
        site?: string;
        docker_image: string;
        docker_sha256?: string;
        min_memory_gb: number;
        min_cpu_cores: number;
        supports_tee: boolean;
        chains: AgentChain[];
    }): Transaction;
    removeAgent(params: {
        developer: string;
        agent: string;
    }): Transaction;
    getDeveloper(params: {
        name: string;
    }): Promise<Developer | undefined>;
    getDeveloperNames(params: {
        developerAddress: string;
    }): Promise<DeveloperNames | undefined>;
    getAgent(params: {
        developer: string;
        agent: string;
    }): Promise<Agent | undefined>;
    static getDockerImageDetails(params: {
        dockerImage: string;
    }): Promise<{
        sha256: string;
        numberOfLayers: number;
    } | undefined>;
}
export {};
