/**
* Copyright (c) 2017-present, RobotlegsJS. All Rights Reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import { PrioritySignal } from "./PrioritySignal";
/**
* Allows the valueClasses to be set in MXML, e.g.
* {[String, uint]}
*/
/**
* Signal dispatches events to multiple listeners.
* It is inspired by C# events and delegates, and by
* signals and slots
* in Qt.
* A Signal adds event dispatching functionality through composition and interfaces,
* rather than inheriting from a dispatcher.
*
* Project home: http://github.com/robertpenner/as3-signals/
*/
export declare class DeluxeSignal extends PrioritySignal {
protected _target: any;
/**
* Creates a DeluxeSignal instance to dispatch events on behalf of a target object.
*
* @param target The object the signal is dispatching events on behalf of.
* @param valueClasses Any number of class references that enable type checks in dispatch().
* For example, new DeluxeSignal(this, String, uint)
* would allow: signal.dispatch("the Answer", 42)
* but not: signal.dispatch(true, 42.5)
* nor: signal.dispatch()
*
* NOTE: Subclasses cannot call super.apply(null, valueClasses),
* but this constructor has logic to support super(valueClasses).
*/
constructor(target?: any, ...valueClasses: any[]);
/** @inheritDoc */
get target(): any;
set target(value: any);
/**
* @inheritDoc
* @throws ArgumentError ArgumentError: Incorrect number of arguments.
* @throws ArgumentError ArgumentError: Value object is not an instance of the appropriate valueClasses Class.
*/
dispatch(...valueObjects: any[]): void;
}