import type { _PHASEGeneratorNodeDefinition } from "./PHASEGeneratorNodeDefinition.js";
import type { _PHASEMixerDefinition } from "./PHASEMixerDefinition.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { PHASECullOption } from "./PHASECullOption.js";
import type { PHASEPlaybackMode } from "./PHASEPlaybackMode.js";
export declare class _PHASESamplerNodeDefinition extends _PHASEGeneratorNodeDefinition {
    static alloc(): _PHASESamplerNodeDefinition;
    static new(): _PHASESamplerNodeDefinition;
    init(): _PHASESamplerNodeDefinition;
    /**
     * @method initWithSoundAssetIdentifier:mixerDefinition:identifier @abstract Create a sampler node definition @param soundAssetIdentifier The identifier of the registered sound asset this sampler will play @param mixerDefinition The mixer definition this sampler will be assigned to @param identifier An optional custom identifier to give to this object @return A new PHASESamplerNodeDefinition object
     */
    initWithSoundAssetIdentifier$mixerDefinition$identifier$(soundAssetIdentifier: _NSString, mixerDefinition: _PHASEMixerDefinition, identifier: _NSString): _PHASESamplerNodeDefinition;
    /**
     * @method initWithSoundAssetIdentifier:mixerDefinition @abstract Create a sampler node definition @param soundAssetIdentifier The identifier of the registered sound asset this sampler will play @param mixerDefinition The mixer definition this sampler will be assigned to @return A new PHASESamplerNodeDefinition object
     */
    initWithSoundAssetIdentifier$mixerDefinition$(soundAssetIdentifier: _NSString, mixerDefinition: _PHASEMixerDefinition): _PHASESamplerNodeDefinition;
    /**
     * @property assetIdentifier @abstract The identifier that uniquely represents the registered sound asset this sampler will play.
     */
    assetIdentifier(): _NSString;
    /**
     * @property cullOption @abstract The cull option for the sampler. @discussion The default value is PHASECullOptionTerminate.
     */
    cullOption(): PHASECullOption;
    setCullOption$(value: PHASECullOption): void;
    /**
     * @property playbackMode @abstract The playback mode for the sampler. @discussion If the playback mode is set to PHASEPlaybackModeOneShot, you need to make sure the the audio data in the registered sound asset associated with this sampler begins and ends at zero crossings. Otherwise, you'll hear a click when beginning playback and / or ending playback. If the playback mode is set to PHASEPlaybackModeLooping, you need to make sure the audio data in the registered sound asset associated with this sampler loops smoothly from the end sample to the start sample. Please verify this during authoring. Failing to do so will result in audible clicks at loop boundaries. The default value is PHASEPlaybackModeOneShot.
     */
    playbackMode(): PHASEPlaybackMode;
    setPlaybackMode$(value: PHASEPlaybackMode): void;
}
