import type { _AVCaptureFileOutput } from "./AVCaptureFileOutput.js";
import type { _AVCaptureFileOutputRecordingDelegate } from "./AVCaptureFileOutputRecordingDelegate.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
export declare class _AVCaptureAudioFileOutput extends _AVCaptureFileOutput {
    static alloc(): _AVCaptureAudioFileOutput;
    static new(): _AVCaptureAudioFileOutput;
    /**
     * @method availableOutputFileTypes @abstract Provides the file types AVCaptureAudioFileOutput can write. @result An NSArray of UTIs identifying the file types the AVCaptureAudioFileOutput class can write.
     */
    static availableOutputFileTypes(): _NSArray;
    init(): _AVCaptureAudioFileOutput;
    /**
     * @method startRecordingToOutputFileURL:outputFileType:recordingDelegate: @abstract Tells the receiver to start recording to a new file of the specified format, and specifies a delegate that will be notified when recording is finished. @param outputFileURL An NSURL object containing the URL of the output file. This method throws an NSInvalidArgumentException if the URL is not a valid file URL. @param fileType A UTI indicating the format of the file to be written. @param delegate An object conforming to the AVCaptureFileOutputRecordingDelegate protocol. Clients must specify a delegate so that they can be notified when recording to the given URL is finished. @discussion The method sets the file URL to which the receiver is currently writing output media. If a file at the given URL already exists when capturing starts, recording to the new file will fail. The fileType argument is a UTI corresponding to the audio file format that should be written. UTIs for common audio file types are declared in AVMediaFormat.h. Clients need not call stopRecording before calling this method while another recording is in progress. If this method is invoked while an existing output file was already being recorded, no media samples will be discarded between the old file and the new file. When recording is stopped either by calling stopRecording, by changing files using this method, or because of an error, the remaining data that needs to be included to the file will be written in the background. Therefore, clients must specify a delegate that will be notified when all data has been written to the file using the captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error: method. The recording delegate can also optionally implement methods that inform it when data starts being written, when recording is paused and resumed, and when recording is about to be finished. On macOS, if this method is called within the captureOutput:didOutputSampleBuffer:fromConnection: delegate method, the first samples written to the new file are guaranteed to be those contained in the sample buffer passed to that method.
     */
    startRecordingToOutputFileURL$outputFileType$recordingDelegate$(outputFileURL: _NSURL, fileType: _NSString, delegate: _AVCaptureFileOutputRecordingDelegate): void;
    /**
     * @property metadata @abstract A collection of metadata to be written to the receiver's output files. @discussion The value of this property is an array of AVMetadataItem objects representing the collection of top-level metadata to be written in each output file. Only ID3 v2.2, v2.3, or v2.4 style metadata items are supported.
     */
    metadata(): _NSArray;
    setMetadata$(value: _NSArray): void;
    /**
     * @property audioSettings @abstract Specifies the options the receiver uses to re-encode audio as it is being recorded. @discussion The output settings dictionary can contain values for keys from AVAudioSettings.h. A value of nil indicates that the format of the audio should not be changed before being written to the file.
     */
    audioSettings(): _NSDictionary | null;
    setAudioSettings$(value: _NSDictionary | null): void;
}
