export declare class _Array<T> {
    protected buffer: (T | undefined)[];
    protected size: number;
    protected start: number;
    protected end: number;
    protected count: number;
    constructor(size: number, array?: T[]);
    protected _push(item: T): void;
    protected _unshift(item: T): void;
    push(...items: T[]): void;
    unshift(...items: T[]): void;
    pop(): T | undefined;
    shift(): T | undefined;
    forEach(callback: (item: T, index: number) => void): void;
    map<U>(callback: (item: T, index: number) => U): U[];
    reduce<U>(callback: (accumulator: U, item: T, index: number) => U, initialValue: U): U;
    at(index: number): T | undefined;
    find(predicate: (value: T, index: number) => boolean): T | undefined;
    findIndex(predicate: (value: T, index: number) => boolean): number;
    some(predicate: (value: T, index: number) => boolean): boolean;
    every(predicate: (value: T, index: number) => boolean): boolean;
    slice(start: number, end?: number): T[];
    filter(predicate: (value: T, index: number) => boolean): T[];
    clear(): void;
    join(separator?: string): string;
    toArray(): T[];
    get length(): number;
    [Symbol.iterator](): Generator<T, void, unknown>;
}
