import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { EventEmitter, Handler, Subscription } from './emitter';
import { ArrayEmitter as IArrayEmitter } from './types';
export declare class ArrayEmitter<T> extends Array<T> implements IArrayEmitter<T> {
    $emitter: EventEmitter;
    $subject: BehaviorSubject<ArrayEmitter<T>>;
    on: {
        (name: string, handler: Handler): void;
    };
    off: {
        (name: string, handler: Handler): void;
    };
    listen: {
        (name: string, handler: Handler): Subscription;
    };
    once: {
        (name: string, handler: Handler): void;
    };
    addListener: {
        (name: string, handler: Handler): void;
    };
    removeListener: {
        (name: string, handler: Handler): void;
    };
    constructor(...args: any[]);
}
