import { MessageChunk } from "@axiom-lattice/protocols";
import { AgentState, ClientConfig, ResumeStreamOptions, RunOptions } from "./types";
import { AbstractClient } from "./abstract-client";
/**
 * WeChat Mini Program client for interacting with the Axiom Lattice Agent Service API
 */
export declare class WeChatClient extends AbstractClient {
    /**
     * Creates a new WeChatClient instance
     * @param config - Configuration options for the client
     */
    constructor(config: ClientConfig);
    /**
     * Set tenant ID for multi-tenant environments
     * @param tenantId - Tenant identifier
     */
    setTenantId(tenantId: string): void;
    /**
     * Implementation of the abstract makeRequest method for WeChat clients
     * @param url - The URL to make the request to
     * @param options - Request options
     * @returns A promise that resolves to the response data
     */
    protected makeRequest<T>(url: string, options?: {
        method?: string;
        body?: any;
        headers?: Record<string, string>;
    }): Promise<T>;
    /**
     * Implementation of the abstract streamRequest method for WeChat clients
     */
    protected streamRequest(options: RunOptions, onEvent: (event: MessageChunk) => void, onComplete?: (state?: AgentState) => void, onError?: (error: Error) => void): () => void;
    /**
     * Resume streaming from a known position
     * @param options - Options for resuming the stream
     * @param onEvent - Callback function that receives stream events
     * @param onComplete - Optional callback function called when streaming completes
     * @param onError - Optional callback function called when an error occurs
     * @returns A function that can be called to stop the stream
     */
    resumeStream(options: ResumeStreamOptions, onEvent: (event: MessageChunk) => void, onComplete?: () => void, onError?: (error: Error) => void): () => void;
    /**
     * Helper method to make WeChat HTTP requests
     * @private
     */
    private request;
    /**
     * Stream run results using WeChat's downloadFile API
     * @param options - Options for streaming run results
     * @param onEvent - Callback function that receives stream events
     * @param onComplete - Optional callback function called when streaming completes
     * @param onError - Optional callback function called when an error occurs
     * @returns A function that can be called to stop the stream
     */
    private streamRun;
    decodeUint8Array(uint8Array: ArrayBuffer): any;
    buf2hex(arrayBuffer: ArrayBuffer): string;
    /**
     * Convert hexadecimal string to text (supports Chinese characters)
     * @param {String} hex - Hexadecimal string
     * @return {String} Decoded string including Chinese characters
     */
    hexToStr(hex: string): any;
}
//# sourceMappingURL=wechat-client.d.ts.map