import type { ApiInterface } from '../types/api';
import type { AudioTaggingModelConfig, AudioTaggingInitResult, AudioTaggingResult, AudioTaggingProcessOptions } from '../types/interfaces';
/**
 * Service for Audio Tagging functionality
 */
export declare class AudioTaggingService {
    private initialized;
    private api;
    constructor(api: ApiInterface);
    /**
     * Initialize the Audio Tagging engine
     * @param config The Audio Tagging model configuration
     * @returns Promise resolving to initialization result
     */
    initialize(config: AudioTaggingModelConfig): Promise<AudioTaggingInitResult>;
    /**
     * Get the initialized status
     */
    isInitialized(): boolean;
    /**
     * Process and compute audio tagging in a single call
     * This method properly manages resources throughout the operation
     * for both file-based and sample-based processing.
     * @param options Options for processing audio
     * @returns Promise resolving to the audio tagging result
     */
    processAndCompute(options: AudioTaggingProcessOptions): Promise<AudioTaggingResult>;
    /**
     * Release Audio Tagging resources
     */
    release(): Promise<{
        released: boolean;
    }>;
}
//# sourceMappingURL=AudioTaggingService.d.ts.map