import { Initializable } from '@pilotlab/initializable';
import { Signal } from '@pilotlab/signals';
export declare abstract class ActivatableBase<TActivationTarget> extends Initializable {
    constructor(data?: any);
    readonly name: string;
    readonly isActivated: boolean;
    protected p_isActivated: boolean;
    readonly activationTarget: TActivationTarget;
    protected p_activationTarget: TActivationTarget;
    protected p_initializationData: any;
    activated: Signal<any>;
    activate(target: TActivationTarget, ...args: any[]): void;
    deactivate(...args: any[]): void;
    protected p_onActivationStarted(data: any, ...args: any[]): void;
    protected p_onActivated(data: any, ...args: any[]): void;
    protected p_onDeactivated(...args: any[]): void;
}
export default ActivatableBase;
