import type { NobjcObject } from "objc-js";
import type { _AUParameterNode } from "./AUParameterNode.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { AUParameterAutomationEventType } from "./AUParameterAutomationEventType.js";
export declare class _AUParameter extends _AUParameterNode {
    static alloc(): _AUParameter;
    static new(): _AUParameter;
    init(): _AUParameter;
    /**
     * @brief Set the parameter's value, avoiding redundant notifications to the originator. @discussion Bridged to the v2 function AudioUnitSetParameter.
     */
    setValue$originator$(value: number, originator: NobjcObject | null): void;
    /**
     * @brief Convenience for setValue:originator:atHostTime:eventType: @discussion Bridged to the v2 function AudioUnitSetParameter.
     */
    setValue$originator$atHostTime$(value: number, originator: NobjcObject | null, hostTime: number): void;
    /**
     * @brief Set the parameter's value, preserving the host time of the gesture that initiated the change, and associating an event type such as touch/release. @discussion In general, this method should only be called from a user interface. It initiates a change to a parameter in a way that captures the gesture such that it can be recorded later -- any AUParameterAutomationObservers will receive the host time and event type associated with the parameter change. From an audio playback engine, a host should schedule automated parameter changes through AUAudioUnit's scheduleParameterBlock. Bridged to the v2 function AudioUnitSetParameter.
     */
    setValue$originator$atHostTime$eventType$(value: number, originator: NobjcObject | null, hostTime: number, eventType: AUParameterAutomationEventType): void;
    /**
     * @brief Get a textual representation of a value for the parameter. Use value==nil to use the current value. Bridged to the v2 property kAudioUnitProperty_ParameterStringFromValue. @discussion This is currently only supported for parameters whose flags include kAudioUnitParameterFlag_ValuesHaveStrings.
     */
    stringFromValue$(value: NobjcObject | null): _NSString;
    /**
     * @brief Convert a textual representation of a value to a numeric one. @discussion This is currently only supported for parameters whose flags include kAudioUnitParameterFlag_ValuesHaveStrings.
     */
    valueFromString$(string_: _NSString): number;
    /** The parameter's minimum value. */
    minValue(): number;
    /** The parameter's maximum value. */
    maxValue(): number;
    /** The parameter's unit of measurement. */
    unit(): NobjcObject;
    /**
     * A localized name for the parameter's unit. Supplied by the AU if kAudioUnitParameterUnit_CustomUnit; else by the framework.
     */
    unitName(): _NSString | null;
    /** Various details of the parameter. */
    flags(): NobjcObject;
    /** The parameter's address. */
    address(): number;
    /**
     * For parameters with kAudioUnitParameterUnit_Indexed, localized strings corresponding to the values.
     */
    valueStrings(): _NSArray | null;
    /**
     * @brief Parameters whose values may change as a side effect of this parameter's value changing. @discussion Each array value is an NSNumber representing AUParameterAddress.
     */
    dependentParameters(): _NSArray | null;
    /** The parameter's current value. */
    value(): number;
    setValue$(value: number): void;
}
export interface _AUParameter extends _NSSecureCoding {
}
