import { AniraWasmInstance } from '../../factory';
import { BaseWrapper, PossiblePointer } from '../BaseWrapper';
import { InferenceConfig } from '../InferenceConfig';
/**
 * TypeScript wrapper for anira::HostConfig
 * Thread-safe C API wrapper
 */
export declare class HostConfig extends BaseWrapper {
    constructor(wasmInstance: AniraWasmInstance, bufferSize?: number, sampleRate?: number, allowSmallerBuffers?: boolean, tensorIndex?: number);
    /** Free the underlying C++ object. See :ref:`lifecycle-and-cleanup` for when to call this. */
    destroy(): void;
    /** Mirrors the :cpp:member:`anira::HostConfig::m_buffer_size` field. */
    get bufferSize(): number;
    /** Mirrors the :cpp:member:`anira::HostConfig::m_sample_rate` field. */
    get sampleRate(): number;
    /** Mirrors the :cpp:member:`anira::HostConfig::m_allow_smaller_buffers` field. */
    get allowSmallerBuffers(): boolean;
    /** Mirrors the :cpp:member:`anira::HostConfig::m_tensor_index` field. */
    get tensorIndex(): number;
    /** Mirrors the :cpp:member:`anira::HostConfig::m_buffer_size` field. */
    set bufferSize(value: number);
    /** Mirrors the :cpp:member:`anira::HostConfig::m_sample_rate` field. */
    set sampleRate(value: number);
    /** Mirrors the :cpp:member:`anira::HostConfig::m_allow_smaller_buffers` field. */
    set allowSmallerBuffers(value: boolean);
    /** Mirrors the :cpp:member:`anira::HostConfig::m_tensor_index` field. */
    set tensorIndex(value: number);
    equals(other: PossiblePointer<HostConfig>): boolean;
    notEquals(other: PossiblePointer<HostConfig>): boolean;
    /** Mirrors :cpp:func:`anira::HostConfig::get_relative_buffer_size`. */
    getRelativeBufferSize(inferenceConfig: PossiblePointer<InferenceConfig>, tensorIndex: number, input?: boolean): number;
    /** Mirrors :cpp:func:`anira::HostConfig::get_relative_sample_rate`. */
    getRelativeSampleRate(inferenceConfig: PossiblePointer<InferenceConfig>, tensorIndex: number, input?: boolean): number;
}
//# sourceMappingURL=HostConfig.d.ts.map