export const COMAPEO_PREFIX: "@@comapeo/";
export const MANAGER_CHANNEL_ID: "@@comapeo/manager";
export const PROJECT_ROUTING_ID: "@@comapeo/project-routing";
export const SERVICES_ID: "@@comapeo/services";
export const PROJECT_INSTANCE_PREFIX: "@@comapeo/project/";
/** @import {MessagePortLike, MessageEvent} from 'rpc-reflector' */
/**
 * @typedef {Object} Events
 * @property {(message: unknown) => void} message
 */
/** @implements {MessagePortLike} */
export class SubChannel implements MessagePortLike {
    /**
     * @param {MessagePortLike} messagePort Parent channel to add namespace to
     * @param {string} id ID for the subchannel
     */
    constructor(messagePort: MessagePortLike, id: string);
    /**
     * @param {'message'} type
     * @param {(event: MessageEvent) => void} listener
     */
    addEventListener(type: "message", listener: (event: MessageEvent) => void): void;
    /**
     * @param {'message'} type
     * @param {(event: MessageEvent) => void} listener
     */
    removeEventListener(type: "message", listener: (event: MessageEvent) => void): void;
    get id(): string;
    /**
     * Send messages with the subchannel's ID
     * @param {any} message
     */
    postMessage(message: any): void;
    start(): void;
    close(): void;
    /** @param {MessageEvent} event */
    dispatchEvent(event: MessageEvent): void;
    #private;
}
export type Events = {
    message: (message: unknown) => void;
};
import type { MessageEvent } from 'rpc-reflector';
import type { MessagePortLike } from 'rpc-reflector';
