/**
 * @module Room
 * @group Rooms
 */
import { ISEAPair } from "gun";
export interface CurrentRoom {
    pub: string;
    isRoot: boolean;
    hosts?: {
        [key: string]: {
            enc?: string;
            features?: string;
            profile?: string;
            hosts?: string;
        };
    };
    features?: {
        [key: string]: string;
    };
    profile?: {
        [key: string]: string;
    };
}
export declare const currentRoom: CurrentRoom;
/**
 * Reactive room controls
 */
export declare function useRoom(pub?: string): {
    room: CurrentRoom;
    submitRoom: typeof submitRoom;
    enterRoom: typeof enterRoom;
    createRoom: typeof createRoom;
    leaveRoom: typeof leaveRoom;
    updateRoomProfile: typeof updateRoomProfile;
};
export declare function useRoomLogo(pub?: string): {
    logo: import("vue").Ref<any>;
    uploadLogo: (file: string) => Promise<void>;
    removeLogo: () => void;
};
export declare function useRooms(): {
    rooms: import("vue").ComputedRef<{}>;
    createRoom: typeof createRoom;
};
export declare function listPersonal(tag: string, pub?: string): {};
/**
 * Update a profile field of a room
 * @param {String} field parameter to write to
 * @param {String} content
 */
export declare function updateRoomProfile(field: string, content: any): void;
/**
 * Create a new room inside the current room
 */
export declare function createRoom({ pair, name }: {
    pair: ISEAPair;
    name?: string;
}): Promise<void>;
export declare function recreateRoom(enc: string, name?: string): Promise<void>;
export declare function submitRoom(pub: string): Promise<void>;
export declare function joinRoom(): void;
/**
 * The right way to come inside a room
 * @param {String} pub
 */
export declare function enterRoom(pub: string): void;
/**
 * Leave the room
 */
export declare function leaveRoom(): void;
export declare function addPersonal({ tag, key, text, pub, cert, }: {
    tag: string;
    key: string;
    text: string;
    pub: string;
    cert: string;
}): Promise<void>;
//# sourceMappingURL=useRoom.d.ts.map