import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCoder } from "../Foundation/NSCoder.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { SKInterpolationMode } from "./SKInterpolationMode.js";
import type { SKRepeatMode } from "./SKRepeatMode.js";
export declare class _SKKeyframeSequence extends _NSObject {
    static alloc(): _SKKeyframeSequence;
    static new(): _SKKeyframeSequence;
    init(): _SKKeyframeSequence;
    initWithKeyframeValues$times$(values: _NSArray, times: _NSArray): _SKKeyframeSequence;
    initWithCapacity$(numItems: number): _SKKeyframeSequence;
    /**
     * A Sprite is a textured 2D node. It can be placed, rotated, scaled and animated like any other node except it draws a textured rectangle specified by the bounds and anchor point. Sprites are used to define quad primitives with color and/or textures applied to them. See <a href="http://en.wikipedia.org/wiki/Sprite_(computer_graphics)">wiki</a> for a definition of a Sprite.
     */
    initWithCoder$(aDecoder: _NSCoder): _SKKeyframeSequence | null;
    count(): number;
    addKeyframeValue$time$(value: NobjcObject, time: number): void;
    removeLastKeyframe(): void;
    /**
     * Create a sprite with an SKTexture and the specified size. @param texture the texture to reference for size and content @param size the size of the sprite in points
     */
    removeKeyframeAtIndex$(index: number): void;
    setKeyframeValue$forIndex$(value: NobjcObject, index: number): void;
    setKeyframeTime$forIndex$(time: number, index: number): void;
    setKeyframeValue$time$forIndex$(value: NobjcObject, time: number, index: number): void;
    getKeyframeValueForIndex$(index: number): NobjcObject;
    getKeyframeTimeForIndex$(index: number): number;
    sampleAtTime$(time: number): NobjcObject | null;
    interpolationMode(): SKInterpolationMode;
    setInterpolationMode$(value: SKInterpolationMode): void;
    /**
     * Create a sprite with an image from your app bundle (An SKTexture is created for the image and set on the sprite. Its size is set to the SKTexture's pixel width/height) The position of the sprite is (0, 0) and the texture anchored at (0.5, 0.5), so that it is offset by half the width and half the height. Thus the sprite has the texture centered about the position. If you wish to have the texture anchored at a different offset set the anchorPoint to another pair of values in the interval from 0.0 up to and including 1.0. @param name is the name of an image file stored in the app bundle.
     */
    repeatMode(): SKRepeatMode;
    setRepeatMode$(value: SKRepeatMode): void;
}
export interface _SKKeyframeSequence extends _NSCopying {
}
