import { NamedFunction1, NamedFunction2, NamedFunction3 } from './_Base';
import { PrimitiveArrayElement, VectorArrayElement } from '../nodes/utils/io/connections/Js';
export declare class arrayLength extends NamedFunction1<[Array<any>]> {
    static type(): string;
    func(array: Array<any>): number;
}
export declare class elementsToArrayPrimitive<T extends PrimitiveArrayElement> extends NamedFunction2<[Array<T>, Array<T>]> {
    static type(): string;
    func(src: Array<T>, target: Array<T>): Array<T>;
}
export declare class elementsToArrayVector<T extends VectorArrayElement> extends NamedFunction2<[Array<T>, Array<T>]> {
    static type(): string;
    func(src: Array<T>, target: Array<T>): Array<T>;
}
export declare class arrayElementPrimitive<T extends PrimitiveArrayElement> extends NamedFunction2<[Array<T>, number]> {
    static type(): string;
    func(src: Array<T>, index: number): T;
}
export declare class arrayElementVector<T extends VectorArrayElement> extends NamedFunction3<[Array<T>, number, T]> {
    static type(): string;
    func(src: Array<T>, index: number, target: T): T;
}
export declare class arrayPopPrimitive<T extends PrimitiveArrayElement> extends NamedFunction1<[Array<T>]> {
    static type(): string;
    func(src: Array<T>): T | undefined;
}
export declare class arrayPopVector<T extends VectorArrayElement> extends NamedFunction2<[Array<T>, T]> {
    static type(): string;
    func(src: Array<T>, target: T): T;
}
export declare class arrayShiftPrimitive<T extends PrimitiveArrayElement> extends NamedFunction1<[Array<T>]> {
    static type(): string;
    func(src: Array<T>): T | undefined;
}
export declare class arrayShiftVector<T extends VectorArrayElement> extends NamedFunction2<[Array<T>, T]> {
    static type(): string;
    func(src: Array<T>, target: T): T;
}
