import { OnInit, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
import { EventType } from '../../../@types/types';
import * as i0 from "@angular/core";
export interface CardVideoDisplayOptions {
remoteProducerId: string;
eventType: string;
forceFullDisplay: boolean;
videoStream: MediaStream | null;
backgroundColor: string;
doMirror?: boolean;
}
export type CardVideoDisplayType = (options: CardVideoDisplayOptions) => HTMLElement;
/**
* CardVideoDisplay component displays a video stream with options for full display, mirroring, and background color customization.
*
* @selector app-card-video-display
* @standalone true
* @imports CommonModule
*
* @inputs
* - `remoteProducerId` (string): Identifier for the remote producer.
* - `eventType` (EventType): Type of event, such as 'webinar'. Default is 'webinar'.
* - `forceFullDisplay` (boolean): Forces full video display if true. Default is false.
* - `videoStream` (MediaStream | null): The media stream to display in the video element.
* - `backgroundColor` (string): Background color for the video container. Default is 'transparent'.
* - `doMirror` (boolean): Mirrors the video if true. Default is false.
*
* @methods
* - `ngOnInit()`: Initializes the video stream and sets the container style on component load.
* - `ngOnChanges(changes: SimpleChanges)`: Updates the video stream or container style when inputs change.
* - `updateVideoStream()`: Assigns the video stream to the video element if it differs from the current stream.
* - `setVideoContainerStyle()`: Sets the style of the video container based on the provided background color.
* - `getBaseVideoContainerStyle()`: Returns base styles for the video container.
* - `getVideoStyle()`: Returns styles for the video element, including optional mirroring and sizing.
*
* @example
* ```html
*
*
* ```
**/
export declare class CardVideoDisplay implements OnInit, OnChanges {
remoteProducerId: string;
eventType: EventType;
forceFullDisplay: boolean;
videoStream: MediaStream | null;
backgroundColor: string;
doMirror: boolean;
videoElement: ElementRef;
videoContainerStyle: any;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
updateVideoStream(): void;
setVideoContainerStyle(): void;
getBaseVideoContainerStyle(): {
display: string;
justifyContent: string;
alignItems: string;
width: string;
height: string;
backgroundColor: string;
borderRadius: string;
overflow: string;
position: string;
};
getVideoStyle(): any;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}