import { Configuration } from '../configuration.js';
export declare class CoreInterop {
    private addon;
    private static _getLibraryExtension;
    private static _resolveDefaultCorePath;
    constructor(config: Configuration);
    executeCommand(command: string, params?: any): string;
    /**
     * Asynchronously execute a native command without blocking the event loop.
     * Runs the native call on a libuv worker thread.
     */
    executeCommandAsync(command: string, params?: any): Promise<string>;
    /**
     * Execute a native command with binary data (e.g., audio PCM bytes).
     * Uses the execute_command_with_binary native entry point which accepts
     * both JSON params and raw binary data via StreamingRequestBuffer.
     */
    executeCommandWithBinary(command: string, params: any, binaryData: Uint8Array): string;
    executeCommandStreaming(command: string, params: any, callback: (chunk: string) => void, signal?: AbortSignal): Promise<string>;
}
