import { HCS20BaseClient } from './base-client';
import { SDKHCS20ClientConfig, DeployPointsOptions, MintPointsOptions, TransferPointsOptions, BurnPointsOptions, RegisterTopicOptions, PointsInfo, PointsTransaction } from './types';
/**
 * SDK-specific HCS-20 client for server-side operations
 */
export declare class HCS20Client extends HCS20BaseClient {
    private client;
    private operatorId;
    private operatorKey;
    private operatorKeyString;
    private keyType?;
    private initialized;
    constructor(config: SDKHCS20ClientConfig);
    /**
     * Initialize operator by querying mirror node for key type
     */
    private initializeOperator;
    /**
     * Ensure operator is initialized before operations
     */
    private ensureInitialized;
    /**
     * Submit a payload to a topic
     */
    private submitPayload;
    /**
     * Create a public topic for HCS-20 (for testnet)
     */
    createPublicTopic(memo?: string): Promise<string>;
    /**
     * Create a registry topic for HCS-20
     */
    createRegistryTopic(memo?: string): Promise<string>;
    /**
     * Deploy new points
     */
    deployPoints(options: DeployPointsOptions): Promise<PointsInfo>;
    /**
     * Mint points
     */
    mintPoints(options: MintPointsOptions): Promise<PointsTransaction>;
    /**
     * Transfer points
     */
    transferPoints(options: TransferPointsOptions): Promise<PointsTransaction>;
    /**
     * Burn points
     */
    burnPoints(options: BurnPointsOptions): Promise<PointsTransaction>;
    /**
     * Register a topic in the registry
     */
    registerTopic(options: RegisterTopicOptions): Promise<void>;
    /**
     * Wait for mirror node to index a message
     */
    private waitForMirrorNodeConfirmation;
}
//# sourceMappingURL=sdk.d.ts.map