import { LitElement } from 'lit';
import type { Signal, Subscriber } from '@gecut/signal';
import type { Constructor } from '@gecut/types';
export declare class SignalMixinInterface extends LitElement {
    protected addSignalSubscriber<T, S extends Signal<T>>(signal: S, subscriber: Subscriber<T>): void;
}
export type MixinReturn<T> = Constructor<SignalMixinInterface> & T;
export declare function SignalMixin<T extends Constructor<LitElement>>(superClass: T): MixinReturn<T>;
//# sourceMappingURL=signal.d.ts.map