/** * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ export interface ContactsMenuEntry { id: number | string | null; fullName: string; avatar: string | null; topAction: object | null; actions: object[]; lastMessage: ''; emailAddresses: string[]; profileTitle: string | null; profileUrl: string | null; status: string | null; statusMessage: null | string; statusMessageTimestamp: null | number; statusIcon: null | string; isUser: boolean; uid: null | string; } export interface ContactsMenuAction { id: string; displayName: (entry: ContactsMenuEntry) => string; enabled: (entry: ContactsMenuEntry) => boolean; iconSvg: (entry: ContactsMenuEntry) => string; callback: (entry: ContactsMenuEntry) => void; } /** * Register a contacts and avatar menu action that will invoke the given callback on click. * * @param {ContactsMenuAction} action The action to register */ export declare function registerContactsMenuAction(action: ContactsMenuAction): void; /** * Get all registered and enabled contacts menu actions for the given menu entry. * * @param {ContactsMenuEntry} entry The contacts menu entry object as returned by the backend */ export declare function getEnabledContactsMenuActions(entry: ContactsMenuEntry): ContactsMenuAction[];