/**
* 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 { IOnceSignal } from "./IOnceSignal";
import { ISlot } from "./ISlot";
/**
* The Slot class represents a signal slot.
*
* @author Robert Penner
* @author Joa Ebert
*/
export declare class Slot implements ISlot {
protected _signal: IOnceSignal;
protected _enabled: boolean;
protected _listener: Function;
protected _once: boolean;
protected _priority: number;
protected _params: any[];
/**
* Creates and returns a new Slot object.
*
* @param listener The listener associated with the slot.
* @param signal The signal associated with the slot.
* @param once Whether or not the listener should be executed only once.
* @param priority The priority of the slot.
*
* @throws ArgumentError ArgumentError: Given listener is null.
* @throws Error Error: Internal signal reference has not been set yet.
*/
constructor(listener: Function, signal: IOnceSignal, once?: boolean, priority?: number);
/**
* @inheritDoc
*/
execute0(): void;
/**
* @inheritDoc
*/
execute1(value: any): void;
/**
* @inheritDoc
*/
execute(valueObjects: any[]): void;
/**
* @inheritDoc
* @throws ArgumentError ArgumentError: Given listener is null. Did you want to set enabled to false instead?
* @throws Error Error: Internal signal reference has not been set yet.
*/
get listener(): Function;
set listener(value: Function);
/**
* @inheritDoc
*/
get once(): boolean;
/**
* @inheritDoc
*/
get priority(): number;
/**
* Creates and returns the string representation of the current object.
*
* @return The string representation of the current object.
*/
toString(): string;
/**
* @inheritDoc
*/
get enabled(): boolean;
set enabled(value: boolean);
/**
* @inheritDoc
*/
get params(): any[];
set params(value: any[]);
/**
* @inheritDoc
*/
remove(): void;
protected verifyListener(listener: Function): void;
}