@rocket.chat/apps-engine
Version:
The engine code for the Rocket.Chat Apps which manages, runs, translates, coordinates and all of that.
37 lines (36 loc) • 1.15 kB
TypeScript
import type { UIActionButtonContext } from './UIActionButtonContext';
export declare enum RoomTypeFilter {
PUBLIC_CHANNEL = "public_channel",
PRIVATE_CHANNEL = "private_channel",
PUBLIC_TEAM = "public_team",
PRIVATE_TEAM = "private_team",
PUBLIC_DISCUSSION = "public_discussion",
PRIVATE_DISCUSSION = "private_discussion",
DIRECT = "direct",
DIRECT_MULTIPLE = "direct_multiple",
LIVE_CHAT = "livechat"
}
export declare enum MessageActionContext {
MESSAGE = "message",
MESSAGE_MOBILE = "message-mobile",
THREADS = "threads",
STARRED = "starred"
}
export interface IUActionButtonWhen {
roomTypes?: Array<RoomTypeFilter>;
messageActionContext?: Array<MessageActionContext>;
hasOnePermission?: Array<string>;
hasAllPermissions?: Array<string>;
hasOneRole?: Array<string>;
hasAllRoles?: Array<string>;
}
export interface IUIActionButtonDescriptor {
actionId: string;
context: UIActionButtonContext;
labelI18n: string;
variant?: 'danger';
when?: IUActionButtonWhen;
}
export interface IUIActionButton extends IUIActionButtonDescriptor {
appId: string;
}