/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import { Singleton } from "../../common/utils/singleton";
import type { LensExtension } from "../lens-extension";
export declare const IpcPrefix: unique symbol;
export declare abstract class IpcRegistrar extends Singleton {
    protected readonly extension: LensExtension;
    readonly [IpcPrefix]: string;
    constructor(extension: LensExtension);
    /**
     *
     * @param channel The channel to broadcast to your whole extension, both `main` and `renderer`
     * @param args The arguments passed to all listeners
     */
    broadcast(channel: string, ...args: any[]): void;
}
