import { IconPack } from '../../lib/icons'; import { DyteI18n } from '../../lib/lang'; import { Meeting, MediaPermission } from '../../types/dyte-client'; import { Size, States } from '../../types/props'; import { EventEmitter } from '../../stencil-public-runtime'; import { ControlBarVariant } from '../dyte-controlbar-button/dyte-controlbar-button'; import { StageStatus } from '@dytesdk/web-core'; interface ScreenShareState { tooltipLabel: string; label: string; icon: string; classList: { [key: string]: boolean; }; showWarning: boolean; disable: boolean; } /** * A button which toggles your screenshare. */ export declare class DyteScreenShareToggle { /** States object */ states: States; /** Emits updated state data */ stateUpdate: EventEmitter; /** Variant */ variant: ControlBarVariant; /** Meeting object */ meeting: Meeting; /** Size */ size: Size; /** Icon pack */ iconPack: IconPack; /** Language */ t: DyteI18n; /** * Maximum screen share count (value from preset) * -1 denotes there is no limit on maximum */ maxScreenShareCount: number; screenShareCount: number; screenShareEnabled: boolean; canScreenShare: boolean; shareScreenPermission: MediaPermission; screenShareState: ScreenShareState; stageStatus: StageStatus; /** * Emit api error events */ dyteAPIError: EventEmitter<{ trace: string; message: string; }>; private screenShareListener; private participantLeftListener; private stageStatusListener; private mediaPermissionUpdateListener; connectedCallback(): void; disconnectedCallback(): void; meetingChanged(meeting: Meeting): void; private hasPermissionError; private reachedMaxScreenShares; private toggleScreenShare; private getState; render(): any; } export {};