import { ComponentSize } from '../../../../enums';
import type { ResultCallbacks } from '../../../../types';
import type { ScreenshotStatus } from '../../types';
import { VideoCallAction } from './enums/VideoCallAction.enum';
type __VLS_Props = {
    'sender:stream'?: MediaStream | null;
    'sender:mic:enabled'?: boolean;
    'sender:mic:accessed'?: boolean;
    'sender:video:enabled'?: boolean;
    'sender:video:accessed'?: boolean;
    'receiver:stream'?: MediaStream | null;
    'receiver:mic:enabled'?: boolean;
    'receiver:video:enabled'?: boolean;
    'call:onHold'?: boolean;
    hideControlsPanel?: boolean;
    'screenshot:status'?: ScreenshotStatus | null;
    'screenshot:loading'?: boolean;
    'screenshot:src'?: string;
    recordings?: boolean;
    static?: boolean;
    position?: 'left-bottom' | 'right-bottom' | 'center';
    size?: ComponentSize;
    hideVideoDisplayPanel?: boolean;
    hideAvatar?: boolean;
    resizable?: boolean;
    actions: VideoCallAction[];
    username?: string;
    'actions:settings:pressed'?: boolean;
    'actions:settings:disabled'?: boolean;
    'actions:chat:pressed'?: boolean;
};
declare var __VLS_17: {
    size: ComponentSize;
}, __VLS_19: {
    size: ComponentSize;
};
type __VLS_Slots = {} & {
    content?: (props: typeof __VLS_17) => any;
} & {
    overlay?: (props: typeof __VLS_19) => any;
};
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    "change-size": (size: ComponentSize) => any;
    "action:screenshot": (payload?: unknown, options?: ResultCallbacks) => any;
    "action:recordings": (payload?: unknown, options?: ResultCallbacks) => any;
    "action:mic": (payload?: unknown, options?: ResultCallbacks) => any;
    "action:video": (payload?: unknown, options?: ResultCallbacks) => any;
    "action:settings": (payload?: unknown, options?: ResultCallbacks) => any;
    "action:chat": (payload?: unknown, options?: ResultCallbacks) => any;
    "action:hangup": (payload?: unknown, options?: ResultCallbacks) => any;
    "action:zoom-screenshot": () => any;
    "action:close-screenshot": () => any;
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
    "onChange-size"?: (size: ComponentSize) => any;
    "onAction:screenshot"?: (payload?: unknown, options?: ResultCallbacks) => any;
    "onAction:recordings"?: (payload?: unknown, options?: ResultCallbacks) => any;
    "onAction:mic"?: (payload?: unknown, options?: ResultCallbacks) => any;
    "onAction:video"?: (payload?: unknown, options?: ResultCallbacks) => any;
    "onAction:settings"?: (payload?: unknown, options?: ResultCallbacks) => any;
    "onAction:chat"?: (payload?: unknown, options?: ResultCallbacks) => any;
    "onAction:hangup"?: (payload?: unknown, options?: ResultCallbacks) => any;
    "onAction:zoom-screenshot"?: () => any;
    "onAction:close-screenshot"?: () => any;
}>, {
    position: "left-bottom" | "right-bottom" | "center";
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
