import { TemplateRef } from '@angular/core'; import { IconDefinition } from '@fortawesome/free-solid-svg-icons'; import { EventType } from '../../../@types/types'; import * as i0 from "@angular/core"; export interface ShareButton { icon: IconDefinition; action: () => void | Promise; show: boolean; color?: string; iconColor?: string; wrapperAttributes?: { [key: string]: any; }; iconAttributes?: { [key: string]: any; }; } export interface ShareButtonRenderContext { button: ShareButton; index: number; shareUrl: string; } export interface ShareButtonsRenderContext { buttons: ShareButton[]; shareUrl: string; } export interface ShareButtonsComponentOptions { meetingID: string; shareButtons?: ShareButton[]; eventType: EventType; localLink?: string; containerAttributes?: { [key: string]: any; }; renderContainer?: TemplateRef; renderButtons?: TemplateRef; renderButton?: TemplateRef; renderIcon?: TemplateRef; getShareUrl?: (options: { meetingID: string; eventType: EventType; localLink?: string; }) => string; } export type ShareButtonsComponentType = (options: ShareButtonsComponentOptions) => HTMLElement; /** * @component ShareButtonsComponent * @selector app-share-buttons-component * @description Displays a set of share buttons for sharing a meeting link on social media and email. * * @example * ```html * * ``` * * ```typescript * const customShareButtons = [ * { icon: faEnvelope, action: () => console.log('Email'), show: true }, * { icon: faFacebook, action: () => console.log('Facebook'), show: true }, * ]; * ``` */ export declare class ShareButtonsComponent { meetingID: string; isDarkMode?: boolean; shareButtons: ShareButton[]; eventType: EventType; localLink?: string; containerAttributes?: { [key: string]: any; }; renderContainer?: TemplateRef; renderButtons?: TemplateRef; renderButton?: TemplateRef; renderIcon?: TemplateRef; getShareUrlFn?: (options: { meetingID: string; eventType: EventType; localLink?: string; }) => string; get resolvedIsDarkMode(): boolean; defaultShareButtons: ShareButton[]; get shareName(): "chat" | "broadcast" | "meeting"; getShareUrl(): string; get filteredShareButtons(): ShareButton[]; get shareButtonsRenderContext(): ShareButtonsRenderContext; getButtonRenderContext(button: ShareButton, index: number): ShareButtonRenderContext; getButtonStyle(button: ShareButton, index: number): any; getIconStyle(button: ShareButton): any; getButtonAriaLabel(index: number): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }