import type { _NSObject } from "../Foundation/NSObject.js";
import type { _CAMediaTimingFunction } from "../QuartzCore/CAMediaTimingFunction.js";
export declare class _NSAnimationContext extends _NSObject {
    static alloc(): _NSAnimationContext;
    static new(): _NSAnimationContext;
    init(): _NSAnimationContext;
    static runAnimationGroup$completionHandler$(changes: (context: _NSAnimationContext) => void, completionHandler: (() => void) | null): void;
    static runAnimationGroup$(changes: (context: _NSAnimationContext) => void): void;
    static beginGrouping(): void;
    static endGrouping(): void;
    static currentContext(): _NSAnimationContext;
    duration(): number;
    setDuration$(value: number): void;
    timingFunction(): _CAMediaTimingFunction;
    setTimingFunction$(value: _CAMediaTimingFunction): void;
    completionHandler(): () => void;
    setCompletionHandler$(value: () => void): void;
    /**
     * Determine if animations are enabled or not. Using the -animator proxy will automatically set allowsImplicitAnimation to YES. When YES, other properties can implicitly animate along with the initially changed property. For instance, calling [[view animator] setFrame:frame] will allow subviews to also animate their frame positions. This is only applicable when layer backed on Mac OS 10.8 and later. The default value is NO.
     */
    allowsImplicitAnimation(): boolean;
    setAllowsImplicitAnimation$(value: boolean): void;
}
