import React from "react";
import { Socket } from "socket.io-client";
import { Participant, ShowAlert } from "../../@types/types";
import { PermissionConfig } from "../../methods/permissionsMethods/updatePermissionConfig";
export interface PermissionsModalParameters {
    participants: Participant[];
    member: string;
    islevel: string;
    socket: Socket;
    roomName: string;
    showAlert?: ShowAlert;
    permissionConfig?: PermissionConfig;
    updatePermissionConfig?: (config: PermissionConfig) => void;
    getUpdatedAllParams: () => PermissionsModalParameters;
    audioSetting?: string;
    videoSetting?: string;
    screenshareSetting?: string;
    chatSetting?: string;
}
export interface PermissionsModalOptions {
    isPermissionsModalVisible: boolean;
    onPermissionsClose: () => void;
    parameters: PermissionsModalParameters;
    backgroundColor?: string;
    position?: string;
}
export type PermissionsModalType = (options: PermissionsModalOptions) => React.JSX.Element;
/**
 * PermissionsModal - Modal for managing participant permissions.
 *
 * Features two tabs:
 * 1. Permission Config - Configure what each permission level can do
 * 2. User Permissions - Update individual/bulk participant permission levels
 *
 * @component
 */
declare const PermissionsModal: React.FC<PermissionsModalOptions>;
export default PermissionsModal;
export { PermissionsModal };
//# sourceMappingURL=PermissionsModal.d.ts.map