// This file is automatically generated, so please do not edit it.
// @generated by `flutter_rust_bridge`@ 2.12.0.

// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import

import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart';

import '../api.dart';
import '../frb_generated.dart';
import 'error.dart';
import 'messages.dart';
import 'relay_defaults.dart';

String npubFromHexPubkey({required String hexPubkey}) =>
    RustLib.instance.api.crateApiUtilsNpubFromHexPubkey(hexPubkey: hexPubkey);

String hexPubkeyFromNpub({required String npub}) =>
    RustLib.instance.api.crateApiUtilsHexPubkeyFromNpub(npub: npub);

Future<RelayUrl> relayUrlFromString({required String url}) =>
    RustLib.instance.api.crateApiUtilsRelayUrlFromString(url: url);

Future<String> stringFromRelayUrl({required RelayUrl relayUrl}) =>
    RustLib.instance.api.crateApiUtilsStringFromRelayUrl(relayUrl: relayUrl);

Future<Tag> tagFromVec({required List<String> vec}) =>
    RustLib.instance.api.crateApiUtilsTagFromVec(vec: vec);

Future<String> getDefaultBlossomServerUrl() =>
    RustLib.instance.api.crateApiUtilsGetDefaultBlossomServerUrl();

Future<String> groupIdToString({required GroupId groupId}) =>
    RustLib.instance.api.crateApiUtilsGroupIdToString(groupId: groupId);

Future<GroupId> groupIdFromString({required String groupId}) =>
    RustLib.instance.api.crateApiUtilsGroupIdFromString(groupId: groupId);

ThemeMode themeModeLight() => RustLib.instance.api.crateApiUtilsThemeModeLight();

ThemeMode themeModeDark() => RustLib.instance.api.crateApiUtilsThemeModeDark();

ThemeMode themeModeSystem() => RustLib.instance.api.crateApiUtilsThemeModeSystem();

String themeModeToString({required ThemeMode themeMode}) =>
    RustLib.instance.api.crateApiUtilsThemeModeToString(themeMode: themeMode);

Language languageEnglish() => RustLib.instance.api.crateApiUtilsLanguageEnglish();

Language languageChineseSimplified() =>
    RustLib.instance.api.crateApiUtilsLanguageChineseSimplified();

Language languageChineseTraditional() =>
    RustLib.instance.api.crateApiUtilsLanguageChineseTraditional();

Language languageSpanish() => RustLib.instance.api.crateApiUtilsLanguageSpanish();

Language languageFrench() => RustLib.instance.api.crateApiUtilsLanguageFrench();

Language languageGerman() => RustLib.instance.api.crateApiUtilsLanguageGerman();

Language languageItalian() => RustLib.instance.api.crateApiUtilsLanguageItalian();

Language languagePortuguese() => RustLib.instance.api.crateApiUtilsLanguagePortuguese();

Language languageRussian() => RustLib.instance.api.crateApiUtilsLanguageRussian();

Language languageTurkish() => RustLib.instance.api.crateApiUtilsLanguageTurkish();

Language languageSystem() => RustLib.instance.api.crateApiUtilsLanguageSystem();

String languageToString({required Language language}) =>
    RustLib.instance.api.crateApiUtilsLanguageToString(language: language);

/// Build a `nostr:nevent1...` URI from a hex event ID and author pubkey (NIP-C7).
String eventIdToNeventUri({
  required String eventIdHex,
  required String pubkeyHex,
}) => RustLib.instance.api.crateApiUtilsEventIdToNeventUri(
  eventIdHex: eventIdHex,
  pubkeyHex: pubkeyHex,
);

// Rust type: RustOpaqueMoi<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<GroupId>>
abstract class GroupId implements RustOpaqueInterface {}
