import { AniraWasmInstance } from '../factory';
import { BaseWrapper, PossiblePointer } from './BaseWrapper';
import { VectorSizeT } from './Vectors';
/**
 * TypeScript wrapper for anira::ProcessingSpec
 * Thread-safe C API wrapper
 */
export declare class ProcessingSpec extends BaseWrapper {
    constructor(wasmInstance: AniraWasmInstance);
    constructor(wasmInstance: AniraWasmInstance, preprocessChannels: PossiblePointer<VectorSizeT>, postprocessChannels: PossiblePointer<VectorSizeT>);
    constructor(wasmInstance: AniraWasmInstance, preprocessChannels: PossiblePointer<VectorSizeT>, postprocessChannels: PossiblePointer<VectorSizeT>, preprocessSize: PossiblePointer<VectorSizeT>, postprocessSize: PossiblePointer<VectorSizeT>);
    constructor(wasmInstance: AniraWasmInstance, preprocessChannels: PossiblePointer<VectorSizeT>, postprocessChannels: PossiblePointer<VectorSizeT>, preprocessSize: PossiblePointer<VectorSizeT>, postprocessSize: PossiblePointer<VectorSizeT>, internalModelLatency: PossiblePointer<VectorSizeT>);
    /** Free the underlying C++ object. See :ref:`lifecycle-and-cleanup` for when to call this. */
    destroy(): void;
    /** Mirrors the :cpp:member:`anira::ProcessingSpec::m_preprocess_input_channels` field. */
    getPreprocessInputChannels(tensorIndex?: number): number;
    /** Mirrors the :cpp:member:`anira::ProcessingSpec::m_postprocess_output_channels` field. */
    getPostprocessOutputChannels(tensorIndex?: number): number;
    /** Mirrors the :cpp:member:`anira::ProcessingSpec::m_preprocess_input_size` field. */
    getPreprocessInputSize(tensorIndex?: number): number;
    /** Mirrors the :cpp:member:`anira::ProcessingSpec::m_postprocess_output_size` field. */
    getPostprocessOutputSize(tensorIndex?: number): number;
    /** Mirrors the :cpp:member:`anira::ProcessingSpec::m_internal_model_latency` field. */
    getInternalModelLatency(tensorIndex?: number): number;
    /** Mirrors the :cpp:member:`anira::ProcessingSpec::m_tensor_input_size` field. */
    getTensorInputSize(tensorIndex?: number): number;
    /** Mirrors the :cpp:member:`anira::ProcessingSpec::m_tensor_output_size` field. */
    getTensorOutputSize(tensorIndex?: number): number;
    equals(other: PossiblePointer<ProcessingSpec>): boolean;
    notEquals(other: PossiblePointer<ProcessingSpec>): boolean;
}
//# sourceMappingURL=ProcessingSpec.d.ts.map