import { Event, EventDelegatorOptions, EventEmitter, EventHandler, EventListener, PropertyChangeEvent } from '../index';
/**
 * Delegates events between two {@link EventEmitter}s.
 */
export declare class EventDelegator {
    source: EventEmitter;
    target: EventEmitter;
    callSetter: boolean;
    delegateProperties: string[];
    excludeProperties: string[];
    delegateEvents: string[];
    delegateAllProperties: boolean;
    delegateAllEvents: boolean;
    protected _mirrorListener: EventListener;
    protected _destroyHandler: EventHandler;
    constructor(source: EventEmitter, target: EventEmitter, options?: EventDelegatorOptions);
    destroy(): void;
    protected _installSourceListener(): void;
    protected _uninstallSourceListener(): void;
    protected _onSourceEvent(event: Event): void;
    protected _onSourcePropertyChange(event: PropertyChangeEvent<any>): void;
    static equalsProperty(propName: string, obj: object, value: any): boolean;
    static create(source: EventEmitter, target: EventEmitter, options: EventDelegatorOptions): EventDelegator;
}
//# sourceMappingURL=EventDelegator.d.ts.map