import { LitElement, ReactiveController } from 'lit';
type Constructor<T = {}> = new (...args: any[]) => T;
export declare class TargetableMixinInterface {
    id: string;
}
export declare const isEFTargetable: (obj: any) => obj is TargetableMixinInterface;
export declare const EFTargetable: <T extends Constructor<LitElement>>(superClass: T) => T;
export declare class TargetController implements ReactiveController {
    private host;
    private targetController;
    private currentTargetString;
    constructor(host: LitElement & {
        targetElement: Element | null;
        target: string;
    });
    private registryCallback;
    private updateTarget;
    private connectToTarget;
    private disconnectFromTarget;
    private get registry();
    hostDisconnected(): void;
    hostConnected(): void;
    hostUpdate(): void;
}
export {};
