import { BaseServiceBuilder, HederaAgentKit } from 'hedera-agent-kit';
import { HCS6Client, HCS6CreateRegistryOptions, HCS6RegisterEntryOptions, HCS6QueryRegistryOptions, HCS6RegisterOptions, HCS6CreateHashinalOptions, HCS6TopicRegistry, HCS6CreateHashinalResponse, TopicResponse } from '@hashgraphonline/standards-sdk';
import { HCS6TopicRegistrationResult, HCS6RegistryOperationResult } from '../../types/tx-results';
/**
 * Builder for HCS-6 operations that delegates to HCS6Client
 */
export declare class HCS6Builder extends BaseServiceBuilder {
    protected hcs6Client?: HCS6Client;
    constructor(hederaKit: HederaAgentKit);
    /**
     * Get or create HCS-6 client
     */
    protected getHCS6Client(): Promise<HCS6Client>;
    /**
     * Create a new HCS-6 dynamic registry
     * Note: This executes the transaction directly via HCS6Client
     */
    createRegistry(options?: HCS6CreateRegistryOptions): Promise<HCS6TopicRegistrationResult>;
    /**
     * Register a new dynamic hashinal entry in an HCS-6 registry
     */
    registerEntry(registryTopicId: string, options: HCS6RegisterEntryOptions): Promise<HCS6RegistryOperationResult>;
    /**
     * Query entries from an HCS-6 registry
     */
    getRegistry(topicId: string, options?: HCS6QueryRegistryOptions): Promise<HCS6TopicRegistry>;
    /**
     * Create a complete dynamic hashinal with inscription and registry
     */
    createHashinal(options: HCS6CreateHashinalOptions): Promise<HCS6CreateHashinalResponse>;
    /**
     * Register a dynamic hashinal with combined inscription and registry creation
     * This is the main method for creating and updating dynamic hashinals
     */
    register(options: HCS6RegisterOptions): Promise<HCS6CreateHashinalResponse>;
    /**
     * Submit a raw message to an HCS-6 topic
     */
    submitMessage(topicId: string, payload: any): Promise<HCS6RegistryOperationResult>;
    /**
     * Get topic info from mirror node
     */
    getTopicInfo(topicId: string): Promise<TopicResponse>;
    /**
     * Close the HCS-6 client
     */
    close(): Promise<void>;
}
