import type { NobjcObject } from "objc-js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CGAffineTransform } from "../structs/CGAffineTransform.js";
import type { CGPoint } from "../structs/CGPoint.js";
import type { CGRect } from "../structs/CGRect.js";
export declare class _CIVector extends _NSObject {
    static alloc(): _CIVector;
    static new(): _CIVector;
    init(): _CIVector;
    /**
     * Create a Core Image vector object that is initialized with the specified values. - Parameters: - values: The pointer `CGFloat` values to initialize the vector with. - count: The number of `CGFloats` specified by the `values` parameter. - Returns: An autoreleased ``CIVector`` object of length `count`.
     */
    static vectorWithValues$count$(values: NobjcObject, count: number): _CIVector;
    /**
     * Create a Core Image vector object that is initialized with one value. - Parameters: - x: The value for the first position in the vector. - Returns: An autoreleased ``CIVector`` object of length 1.
     */
    static vectorWithX$(x: number): _CIVector;
    /**
     * Create a Core Image vector object that is initialized with two values. - Parameters: - x: The value for the first position in the vector. - y: The value for the second position in the vector. - Returns: An autoreleased ``CIVector`` object of length 2.
     */
    static vectorWithX$Y$(x: number, y: number): _CIVector;
    /**
     * Create a Core Image vector object that is initialized with three values. - Parameters: - x: The value for the first position in the vector. - y: The value for the second position in the vector. - z: The value for the third position in the vector. - Returns: An autoreleased ``CIVector`` object of length 3.
     */
    static vectorWithX$Y$Z$(x: number, y: number, z: number): _CIVector;
    /**
     * Create a Core Image vector object that is initialized with four values. - Parameters: - x: The value for the first position in the vector. - y: The value for the second position in the vector. - z: The value for the third position in the vector. - w: The value for the forth position in the vector. - Returns: An autoreleased ``CIVector`` object of length 4.
     */
    static vectorWithX$Y$Z$W$(x: number, y: number, z: number, w: number): _CIVector;
    /**
     * Create a Core Image vector object that is initialized with two values provided by a `CGPoint` structure. The `CGRect` structure’s `y` and `y` values are stored in the vector’s two values. - Parameters: - p: The `CGPoint` structure. - Returns: An autoreleased ``CIVector`` object of length 2.
     */
    static vectorWithCGPoint$(p: CGPoint): _CIVector;
    /**
     * Create a Core Image vector object that is initialized with four values provided by a `CGRect` structure. The `CGRect` structure’s `x`, `y`, `height` and `width` values are stored in the vector’s four values. - Parameters: - r: The `CGRect` structure. - Returns: An autoreleased ``CIVector`` object of length 4.
     */
    static vectorWithCGRect$(r: CGRect): _CIVector;
    /**
     * Create a Core Image vector object that is initialized with six values provided by a `CGAffineTransform` structure. The `CGAffineTransform` structure’s `a`, `b`, `c`, `d`, `tx` and `ty` values are stored in the vector’s six values. - Parameters: - t: The `CGAffineTransform` structure. - Returns: An autoreleased ``CIVector`` object of length 6.
     */
    static vectorWithCGAffineTransform$(t: CGAffineTransform): _CIVector;
    /**
     * Create a Core Image vector object with values provided in a string representation. - Parameters: - representation: A string that is in one of the formats returned by the `stringRepresentation` method. - Returns: An autoreleased ``CIVector`` object.
     */
    static vectorWithString$(representation: _NSString): _CIVector;
    /**
     * Initialize a Core Image vector object with the specified the values. - Parameters: - values: A pointer `CGFloat` values for vector. - count: The number of `CGFloats` specified by the `values` parameter. - Returns: An initialized ``CIVector`` object of length `count`.
     */
    initWithValues$count$(values: NobjcObject, count: number): _CIVector;
    /**
     * Initialize a Core Image vector object with one value. - Parameters: - x: The value for the first position in the vector. - Returns: An initialized ``CIVector`` object of length 1.
     */
    initWithX$(x: number): _CIVector;
    /**
     * Initialize a Core Image vector object with two values. - Parameters: - x: The value for the first position in the vector. - y: The value for the second position in the vector. - Returns: An initialized ``CIVector`` object of length 2.
     */
    initWithX$Y$(x: number, y: number): _CIVector;
    /**
     * Initialize a Core Image vector object with three values. - Parameters: - x: The value for the first position in the vector. - y: The value for the second position in the vector. - z: The value for the third position in the vector. - Returns: An initialized ``CIVector`` object of length 3.
     */
    initWithX$Y$Z$(x: number, y: number, z: number): _CIVector;
    /**
     * Initialize a Core Image vector object with four values. - Parameters: - x: The value for the first position in the vector. - y: The value for the second position in the vector. - z: The value for the third position in the vector. - w: The value for the forth position in the vector. - Returns: An initialized ``CIVector`` object of length 4.
     */
    initWithX$Y$Z$W$(x: number, y: number, z: number, w: number): _CIVector;
    /**
     * Initialize a Core Image vector object with two values provided by a `CGPoint` structure. The `CGRect` structure’s `y` and `y` values are stored in the vector’s two values. - Parameters: - p: The `CGPoint` structure. - Returns: An initialized ``CIVector`` object of length 2.
     */
    initWithCGPoint$(p: CGPoint): _CIVector;
    /**
     * Initialize a Core Image vector object with four values provided by a `CGRect` structure. The `CGRect` structure’s `x`, `y`, `height` and `width` values are stored in the vector’s four values. - Parameters: - r: The `CGRect` structure. - Returns: An initialized ``CIVector`` object of length 4.
     */
    initWithCGRect$(r: CGRect): _CIVector;
    /**
     * Initialize a Core Image vector object with six values provided by a `CGAffineTransform` structure. The `CGAffineTransform` structure’s `a`, `b`, `c`, `c`, `tx` and `ty` values are stored in the vector’s six values. - Parameters: - t: The `CGAffineTransform` structure. - Returns: An initialized ``CIVector`` object of length 6.
     */
    initWithCGAffineTransform$(t: CGAffineTransform): _CIVector;
    /**
     * Initialize a Core Image vector object with values provided in a string representation. - Parameters: - representation: A string that is in one of the formats returned by the `stringRepresentation` method. - Returns: An initialized ``CIVector`` object.
     */
    initWithString$(representation: _NSString): _CIVector;
    /**
     * Returns a value from a specific position in the vector. The numbering of elements in a vector begins with zero. - Parameters: - index: The position in the vector of the value that you want to retrieve. - Returns: The value retrieved from the vector or `0` if the position is undefined.
     */
    valueAtIndex$(index: number): number;
    /** The number of items in the vector. */
    count(): number;
    /** The value located in the first position in the vector. */
    X(): number;
    /** The value located in the second position in the vector. */
    Y(): number;
    /** The value located in the third position in the vector. */
    Z(): number;
    /** The value located in the forth position in the vector. */
    W(): number;
    /**
     * Returns the values in the vector as a `CGPoint` structure. - Returns: Reading this property returns a `CGPoint` structure from the `X` and `Y` values from the vector.
     */
    CGPointValue(): CGPoint;
    /**
     * Returns the values in the vector as a `CGRect` structure. - Returns: Reading this property creates a `CGRect` structure whose origin is the `X`, `Y`, `Z` and `W` values from the vector.
     */
    CGRectValue(): CGRect;
    /**
     * Returns the values in the vector as a `CGAffineTransformValue` structure. - Returns: Reading this property creates a `CGAffineTransformValue` structure from the first six values in the vector.
     */
    CGAffineTransformValue(): CGAffineTransform;
    /**
     * Returns a formatted string with all the values of a `CIVector`. Some example string representations of vectors: `CIVector` | `stringRepresentation` ---------------------------------------- | -------------- `[CIVector vectorWithX:1.0 Y:0.5 Z:0.3]` | `"[1.0 0.5 0.3]"` `[CIVector vectorWithX:10.0 Y:23.0]` | `"[10.0 23.0]"` To create a ``CIVector`` object from a string representation, use the ``vectorWithString:`` method.
     */
    stringRepresentation(): _NSString;
}
export interface _CIVector extends _NSCopying, _NSSecureCoding {
}
