import { FirestoreModelFieldValueConverter } from "./model_field_value_converter";
/**
 * List of converters for converting Firestore values.
 *
 * Firestoreの値を変換するためのコンバーター一覧。
 */
declare const defaultFirestoreConverters: FirestoreModelFieldValueConverter[];
export declare class ModelFieldValueConvert {
    /**
     * Convert data to [ModelFieldValue].
     *
     * データを[ModelFieldValue]に変換します。
     *
     * @param data
     * Data to convert.
     *
     * 変換するデータ。
     *
     * @returns { [field: string]: any }
     * Data converted to [ModelFieldValue].
     *
     * [ModelFieldValue]に変換されたデータ。
     */
    static from({ data, firestoreInstance }: {
        data: {
            [field: string]: any;
        };
        firestoreInstance: FirebaseFirestore.Firestore;
    }): {
        [field: string]: any;
    };
    /**
     * Convert data to Firestore manageable type.
     *
     * データをFirestoreで管理可能な型に変換します。
     *
     * @param data
     * Data to convert.
     *
     * 変換するデータ。
     *
     * @returns { [field: string]: any }
     * Data converted to Firestore manageable type.
     *
     * Firestoreで管理可能な型に変換されたデータ。
     */
    static to({ data, firestoreInstance }: {
        data: {
            [field: string]: any;
        };
        firestoreInstance: FirebaseFirestore.Firestore;
    }): {
        [field: string]: any;
    };
}
export declare class ModelFieldValueConverterUtils {
    /**
     * Convert data to [ModelFieldValue].
     *
     * データを[ModelFieldValue]に変換します。
     *
     * @param data
     * Data to convert.
     *
     * 変換するデータ。
     *
     * @returns { [field: string]: any }
     * Data converted to [ModelFieldValue].
     *
     * [ModelFieldValue]に変換されたデータ。
     */
    static convertFrom({ data }: {
        data: {
            [field: string]: any;
        };
    }): {
        [field: string]: any;
    };
    /**
     * Convert data to Firestore manageable type.
     *
     * データをFirestoreで管理可能な型に変換します。
     *
     * @param data
     * Data to convert.
     *
     * 変換するデータ。
     *
     * @returns { [field: string]: any }
     * Data converted to Firestore manageable type.
     *
     * Firestoreで管理可能な型に変換されたデータ。
     */
    static convertTo({ data }: {
        data: {
            [field: string]: any;
        };
    }): {
        [field: string]: any;
    };
}
/**
 * Utility class for converting data using default converters.
 *
 * デフォルトのコンバーターを使用してデータを変換するユーティリティクラス。
 */
export declare class FirestoreModelFieldValueConverterUtils {
    /**
     * Convert data to [ModelFieldValue].
     *
     * データを[ModelFieldValue]に変換します。
     *
     * @param data
     * Data to convert.
     *
     * 変換するデータ。
     *
     * @returns { [field: string]: any }
     * Data converted to [ModelFieldValue].
     *
     * [ModelFieldValue]に変換されたデータ。
     */
    static convertFrom({ data, firestoreInstance }: {
        data: {
            [field: string]: any;
        };
        firestoreInstance: FirebaseFirestore.Firestore;
    }): {
        [field: string]: any;
    };
    /**
     * Convert data to Firestore manageable type.
     *
     * データをFirestoreで管理可能な型に変換します。
     *
     * @param data
     * Data to convert.
     *
     * 変換するデータ。
     *
     * @returns { [field: string]: any }
     * Data converted to Firestore manageable type.
     *
     * Firestoreで管理可能な型に変換されたデータ。
     */
    static convertTo({ data, firestoreInstance }: {
        data: {
            [field: string]: any;
        };
        firestoreInstance: FirebaseFirestore.Firestore;
    }): {
        [field: string]: any;
    };
}
export { defaultFirestoreConverters as defaultConverters };
