import { Events } from './events';
/**
 * The ObserverList class is a list of Observer objects.
 */
declare class ObserverList extends Events {
    data: any[];
    private _indexed;
    sorted: ((arg0: any, arg1: any) => number) | null;
    index: string | null;
    /**
     * @param options.sorted - Sorted
     * @param options.index - Index
     */
    constructor(options?: {
        sorted?: (arg0: any, arg1: any) => number;
        index?: string;
    });
    get length(): number;
    get(index: any): any;
    set(index: any, value: any): void;
    indexOf(item: any): any;
    position(b: any, fn: (arg0: any, arg1: any) => any): number;
    positionNextClosest(b: any, fn: ((arg0: any, arg1: any) => number)): number;
    has(item: any): boolean;
    add(item: any): number;
    move(item: any, pos: number): void;
    remove(item: any): void;
    removeByKey(index: any): void;
    removeBy(fn: (arg0: any) => any): void;
    clear(): void;
    forEach(fn: (arg0: any, arg1: any) => void): void;
    find(fn: (arg0: any) => any): any[][];
    findOne(fn: (arg0: any) => any): any[];
    map(fn: (value: any, index: number, array: any[]) => any): any[];
    sort(fn: (a: any, b: any) => number): void;
    array(): any[];
    json(): any[];
}
export { ObserverList };
