/** * 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. */ export declare const ISlot: unique symbol; /** * The ISlot interface defines the basic properties of a * listener associated with a Signal. * * @author Joa Ebert * @author Robert Penner */ export interface ISlot { /** * The listener associated with this slot. */ listener: Function; /** * Allows the ISlot to inject parameters when dispatching. The params will be at * the tail of the arguments and the ISignal arguments will be at the head. * * var signal:ISignal = new Signal(String); * signal.add(handler).params = [42]; * signal.dispatch('The Answer'); * function handler(name:String, num:int):void{} */ params: any[]; /** * Whether this slot is automatically removed after it has been used once. */ once: boolean; /** * The priority of this slot should be given in the execution order. * An IPrioritySignal will call higher numbers before lower ones. * Defaults to 0. */ priority: number; /** * Whether the listener is called on execution. Defaults to true. */ enabled: boolean; /** * Executes a listener without arguments. * Existing params are appended before the listener is called. */ execute0(): void; /** * Dispatches one argument to a listener. * Existing params are appended before the listener is called. * * @param value The argument for the listener. */ execute1(value: any): void; /** * Executes a listener of arity n where n is * valueObjects.length. * Existing params are appended before the listener is called. * * @param valueObjects The array of arguments to be applied to the listener. */ execute(valueObjects: any[]): void; /** * Removes the slot from its signal. */ remove(): void; }