import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _CAAnimation } from "../QuartzCore/CAAnimation.js";
import type { _SCNNode } from "./SCNNode.js";
import type { SCNParticleInputMode } from "./SCNParticleInputMode.js";
import type { SCNParticleProperty } from "./SCNParticleProperty.js";
export declare class _SCNParticlePropertyController extends _NSObject {
    static alloc(): _SCNParticlePropertyController;
    static new(): _SCNParticlePropertyController;
    init(): _SCNParticlePropertyController;
    /**
     * Creates and initializes a particle property controller with the specified animation.
     */
    static controllerWithAnimation$(animation: _CAAnimation): _SCNParticlePropertyController;
    /**
     * Specifies the animation to be applied on the particle system property. The type of the animation will depend of the property controlled. See the documentation along property name definition.
     */
    animation(): _CAAnimation;
    setAnimation$(value: _CAAnimation): void;
    /**
     * Specify the input mode of the receiver. This can be over life, over distance or over the evolution of another proprety. Defaults to SCNParticleInputModeOverLife.
     */
    inputMode(): SCNParticleInputMode;
    setInputMode$(value: SCNParticleInputMode): void;
    /**
     * Specifies the input scale and bias. inputScale defaults to 1 and inputBias to 0.
     */
    inputScale(): number;
    setInputScale$(value: number): void;
    inputBias(): number;
    setInputBias$(value: number): void;
    /** Specifies an origin for the variation mode "SCNParticleInputModeOverDistance". */
    inputOrigin(): _SCNNode | null;
    setInputOrigin$(value: _SCNNode | null): void;
    /**
     * Specifies which property to use as input for the input mode "SCNParticleInputModeOverOtherProperty".
     */
    inputProperty(): SCNParticleProperty | null;
    setInputProperty$(value: SCNParticleProperty | null): void;
}
export interface _SCNParticlePropertyController extends _NSSecureCoding, _NSCopying {
}
