/**
 * @param {import('./lib/sub-channel.js').MessagePortLike} messagePort
 * @param {object} [opts]
 * @param {number} [opts.timeout]
 *
 * @returns {MapeoClientApi}
 */
export function createMapeoClient(messagePort: import('./lib/sub-channel.js').MessagePortLike, opts?: {
    timeout?: number | undefined;
} | undefined): MapeoClientApi;
/**
 * @param {MapeoClientApi} client client created with `createMapeoClient`
 * @returns {Promise<void>}
 */
export function closeMapeoClient(client: MapeoClientApi): Promise<void>;
export type MapeoProjectApi = import('rpc-reflector/client.js').ClientApi<import('@comapeo/core/dist/mapeo-project.js').MapeoProject>;
export type MapeoClientApi = {
    addListener: <U extends "local-peers">(event: U, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U]) => import("@comapeo/core").MapeoManager;
    on: <U_1 extends "local-peers">(event: U_1, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_1]) => import("@comapeo/core").MapeoManager;
    once: <U_2 extends "local-peers">(event: U_2, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_2]) => import("@comapeo/core").MapeoManager;
    removeListener: <U_3 extends "local-peers">(event: U_3, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_3]) => import("@comapeo/core").MapeoManager;
    off: <U_4 extends "local-peers">(event: U_4, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_4]) => import("@comapeo/core").MapeoManager;
    removeAllListeners: (event?: "local-peers" | undefined) => import("@comapeo/core").MapeoManager;
    listeners: <U_5 extends "local-peers">(type: U_5) => import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_5][];
    rawListeners: <U_6 extends "local-peers">(type: U_6) => import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_6][];
    emit: <U_7 extends "local-peers">(event: U_7, ...args: Parameters<import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_7]>) => boolean;
    listenerCount: (type: "local-peers") => number;
    eventNames: <U_8 extends "local-peers">() => U_8[];
    readonly deviceId: () => Promise<string>;
    createProject: ({ name, configPath }?: {
        name?: string | undefined;
        configPath?: string | undefined;
    } | undefined) => Promise<string>;
    listProjects: () => Promise<(Pick<{
        schemaName: "projectSettings";
        name?: string | undefined;
        defaultPresets?: {
            point: string[];
            area: string[];
            vertex: string[];
            line: string[];
            relation: string[];
        } | undefined;
        configMetadata?: {
            name: string;
            buildDate: string;
            importDate: string;
            fileVersion: string;
        } | undefined;
    }, "name"> & {
        projectId: string;
        createdAt?: string | undefined;
        updatedAt?: string | undefined;
    })[]>;
    addProject: ({ projectKey, encryptionKeys, projectName }: Pick<import("@comapeo/core/dist/generated/rpc.js").ProjectJoinDetails, "projectKey" | "encryptionKeys"> & {
        projectName: string;
    }, { waitForSync }?: {
        waitForSync?: boolean | undefined;
    } | undefined) => Promise<string>;
    setDeviceInfo: <T extends import("type-fest").Exact<import("@comapeo/core/dist/schema/client.js").DeviceInfoParam & {
        deviceType?: "UNRECOGNIZED" | "device_type_unspecified" | "mobile" | "tablet" | "desktop" | "selfHostedServer" | undefined;
    }, T>>(deviceInfo: T) => Promise<void>;
    getDeviceInfo: () => Promise<{
        deviceId: string;
        deviceType: "UNRECOGNIZED" | "device_type_unspecified" | "mobile" | "tablet" | "desktop" | "selfHostedServer";
    } & Partial<import("@comapeo/core/dist/schema/client.js").DeviceInfoParam>>;
    setIsArchiveDevice: (isArchiveDevice: boolean) => Promise<void>;
    getIsArchiveDevice: () => Promise<boolean>;
    readonly invite: import("rpc-reflector/lib/types.js").ClientApi<import("@comapeo/core/dist/invite/invite-api.js").InviteApi> & (() => Promise<import("@comapeo/core/dist/invite/invite-api.js").InviteApi>);
    startLocalPeerDiscoveryServer: () => Promise<{
        name: string;
        port: number;
    }>;
    stopLocalPeerDiscoveryServer: (opts?: {
        force?: boolean | undefined;
        timeout?: number | undefined;
    } | undefined) => Promise<void>;
    connectLocalPeer: (args_0: {
        address: string;
        port: number;
        name: string;
    }) => Promise<void>;
    listLocalPeers: () => Promise<import("@comapeo/core/dist/mapeo-manager.js").PublicPeerInfo[]>;
    onBackgrounded: () => Promise<void>;
    onForegrounded: () => Promise<void>;
    leaveProject: (projectPublicId: string) => Promise<void>;
    getMapStyleJsonUrl: () => Promise<string>;
    getProject: (projectPublicId: string) => Promise<MapeoProjectApi>;
};
