import { Group, Independent } from '../../main';
import { QAObj, UserData } from '../../../src/types';
import { MagnetarInstance } from '@magnetarjs/core';
export type Props = {
    /** @property {MagnetarInstance} magnetarInstance
     *  - Magnetarのインスタンス */
    magnetarInstance: MagnetarInstance;
    /** @property {FirebaseStorage} dbFirebaseStorage
     *  - Firebase Storageのインスタンス */
    /**@param userData:
     *個人情報
     */
    userData: UserData;
    /** @property {Boolean} firstModelSpinner
     *  - 初回ロード時のスピナ-用v-model
     * - v-model
     * */
    firstModelSpinner?: boolean;
    /**
     * 初回読み込み数
     * @param firstLoadingCount: Number
     */
    firstLoadingCount?: number;
    /**
     * 追加読み込み数
     * @param addLoadingCount: Number
     */
    addLoadingCount?: number;
    /**
     * グループ情報（会社等）
     * - 個人の場合でもグループ情報を渡してください
     * @param  groupData: String
     * */
    groupData: {
        id: string;
        name: string;
        memberIds: {
            id: string;
            name: string;
        }[];
    };
    /**
     * 送信先情報
     * -現状は1対1のみ対応(12/6現在)
     * -chatRoomIdがある場合はそちらを優先する
     * @param destinationIinformation
     */
    destinationIinformation?: Group[] | Independent;
    /** @property  chatRoomId
     * - チャットルームID
     * - 未指定の場合は自動switchChatRoomIdが作成される
     * */
    chatRoomId: string;
    /** @property {object} header
     * - ヘッダーオプション*/
    header?: {
        [key: string]: string;
    };
    /*** @property {string} headerImg
     * - ヘッダーアイコンのURL - Magnetarのインスタンス */
    headerImg?: string;
    /**
     * チャットルームが作成された時のタイトル
     * @param title: String*/
    title?: string;
    /** @property {string} height
     *  - 高さ */
    height?: string;
    /**
     * 個人の判定をする際にAuthの文字数と同一かどうかを判定する
     * @param authCounterDown: Number
     */
    authCounterDown?: number;
    /**
     * 個人の判定をする際にAuthの文字数と同一かどうかを判定する
     * @param authCounterUp: Number
     */
    authCounterUp?: number;
    /**
     * 最終入力内容確認用の本文プロパティ
     * @param finalConfBody: String
     */
    finalConfBody?: string;
    /**
     * 最終入力内容確認用のタイトルプロパティ
     * @param finalConfTitle: String
     */
    finalConfTitle?: string;
    /**
     * QA対応用のプロパティ
     * @param finalConfTitle: String
     */
    qAModeOptions: QAObj;
    /**
     * editLogを表示しない場合のプロパティ
     * - Q&Aの場合の場合は表示しない
     * - チャットモードの場合は表示する
     * @param noEditLog: boolean
     */
    noEditLog?: boolean;
    /**
     *  部屋の作成を自動生成
     * @param noEditLog: boolean
     */
    autoCreateRoom?: boolean;
    /**
     * 電話番号表示非表示切り替え
     * @param isCallable: boolean
     */
    isCallable?: boolean;
    /**
     * 送信者の名前の表示非表示切り替え
     */
    isDisplayName?: boolean;
    convertTargetStrings?: string[];
    /**
     * 適用したいスタイル
     * @param targetStyle: string
     */
    targetStyle?: string;
    /**
     * capacitor用
     */
    uploadImages?: File[];
    /**
     * フリーコメントの部分の高さ調整
     */
    adjustPositionPx: number;
    /**
     * 自身の情報以外にも右（自身側）に表示したい情報がある場合
     * @param rightInfo: string[]
     */
    rightInfo?: string[];
    /**
     * openBegnningFile のv-model
     * @param openBegnningFile: boolean
     */
    openBegnningFile?: boolean;
    /**
     * ファイルアップロードの際にemitを行うかどうか
     */
    isAttachFile?: boolean;
};
