import { DytePlugin } from '@dytesdk/web-core'; import { IconPack } from '../../lib/icons'; import { DyteI18n } from '../../lib/lang'; import { Meeting, Peer } from '../../types/dyte-client'; import { Size, States } from '../../types/props'; import { UIConfig } from '../../types/ui-config'; import { GridLayout, GridSize } from '../dyte-grid/dyte-grid'; import type { Tab } from '../dyte-tab-bar/dyte-tab-bar'; /** * A grid component which handles screenshares, plugins and participants. */ export declare class DyteMixedGrid { private activeTabUpdateListener; /** Grid Layout */ layout: GridLayout; /** Participants */ participants: Peer[]; /** Pinned Participants */ pinnedParticipants: Peer[]; /** Screenshare Participants */ screenShareParticipants: Peer[]; /** Active Plugins */ plugins: DytePlugin[]; /** * Aspect Ratio of participant tile * * Format: `width:height` */ aspectRatio: string; /** Gap between participant tiles */ gap: number; /** Size */ size: Size; /** Meeting object */ meeting: Meeting; /** States object */ states: States; /** UI Config */ config: UIConfig; /** Icon Pack */ iconPack: IconPack; /** Language */ t: DyteI18n; /** Grid size */ gridSize: GridSize; activeTab: Tab; initialised: boolean; host: HTMLDyteMixedGridElement; componentWillLoad(): void; connectedCallback(): void; disconnectedCallback(): void; meetingChanged(meeting: Meeting): void; screenShareParticipantsChanged(participants?: Peer[]): void; pluginsChanged(plugins: DytePlugin[]): void; private revalidateActiveTab; private setActiveTab; private reassignActiveTab; private onActiveTabUpdate; private getTabs; render(): any; }