import { Multiname } from '../abc/lazy/Multiname';
import { Bytecode } from '../abc/ops';
import { ASObject } from '../nat/ASObject';
import { AXCallable } from '../run/AXCallable';
import { AXObject } from '../run/AXObject';
import { AXClass } from '../run/AXClass';
import { ASFunction } from '../nat/ASFunction';
export declare class BaseVector extends ASObject {
    axGetProperty(mn: Multiname): any;
    axSetProperty(mn: Multiname, value: any, bc: Bytecode): void;
    axGetPublicProperty(nm: any): any;
    axSetPublicProperty(nm: any, value: any): void;
    axNextName(index: number): any;
    /**
   * Throws exceptions for the cases where Flash does, and returns false if the callback
   * is null or undefined. In that case, the calling function returns its default value.
   */
    checkVectorMethodArgs(callback: AXCallable, thisObject: any): boolean;
}
export declare class Vector extends ASObject {
    static axIsType(x: AXObject): boolean;
}
export declare class GenericVector extends BaseVector {
    static axClass: typeof GenericVector;
    static CASEINSENSITIVE: number;
    static DESCENDING: number;
    static UNIQUESORT: number;
    static RETURNINDEXEDARRAY: number;
    static NUMERIC: number;
    static classInitializer(): void;
    static axApply(_: AXObject, args: any[]): any;
    static defaultCompareFunction(a: any, b: any): number;
    static compare(a: any, b: any, options: any, compareFunction: any): number;
    axClass: AXClass;
    static type: AXClass;
    static defaultValue: any;
    private _fixed;
    private _buffer;
    constructor(length?: number, fixed?: boolean);
    private _fill;
    /**
   * Can't use Array.prototype.toString because it doesn't print |null|s the same way as AS3.
   */
    toString(): string;
    toLocaleString(): string;
    sort(sortBehavior?: ASFunction | number): this;
    /**
   * Executes a |callback| function with three arguments: element, index, the vector itself as
   * well as passing the |thisObject| as |this| for each of the elements in the vector. If any of
   * the callbacks return |false| the function terminates, otherwise it returns |true|.
   */
    every(callback: AXCallable, thisObject: Object): boolean;
    /**
   * Filters the elements for which the |callback| method returns |true|. The |callback| function
   * is called with three arguments: element, index, the vector itself as well as passing the
   * |thisObject| as |this| for each of the elements in the vector.
   */
    filter(callback: any, thisObject: any): GenericVector;
    map(callback: any, thisObject: any): GenericVector;
    some(callback: any, thisObject: any): boolean;
    forEach(callback: any, thisObject: any): void;
    join(separator?: string): string;
    indexOf(searchElement: any, fromIndex?: number): number;
    lastIndexOf(searchElement: any, fromIndex?: number): number;
    push(arg1?: any, arg2?: any, arg3?: any, arg4?: any, arg5?: any, arg6?: any, arg7?: any, arg8?: any): void;
    pop(): any;
    concat(): any;
    reverse(): this;
    _coerce(v: any): any;
    shift(): any;
    unshift(): void;
    slice(start?: number, end?: number): GenericVector;
    splice(start: number, deleteCount_: number): GenericVector;
    get length(): number;
    set length(value: number);
    set fixed(f: boolean);
    get fixed(): boolean;
    _checkFixed(): void;
    axGetNumericProperty(nm: number): any;
    axSetNumericProperty(nm: number, v: any): void;
    axHasPropertyInternal(mn: Multiname): boolean;
    axNextValue(index: number): any;
    axNextNameIndex(index: number): number;
}
//# sourceMappingURL=GenericVector.d.ts.map