// AUTO GENERATED FILE, DO NOT EDIT.
// Generated by `flutter_rust_bridge`@ 1.79.0.
// ignore_for_file: non_constant_identifier_names, unused_element, duplicate_ignore, directives_ordering, curly_braces_in_flow_control_structures, unnecessary_lambdas, slash_for_doc_comments, prefer_const_literals_to_create_immutables, implicit_dynamic_list_literal, duplicate_import, unused_import, unnecessary_import, prefer_single_quotes, prefer_const_constructors, use_super_parameters, always_use_package_imports, annotate_overrides, invalid_use_of_protected_member, constant_identifier_names, invalid_use_of_internal_member, prefer_is_empty, unnecessary_const

import 'dart:convert';
import 'dart:async';
import 'package:meta/meta.dart';
import 'package:flutter_rust_bridge/flutter_rust_bridge.dart';
import 'package:uuid/uuid.dart';

import 'package:collection/collection.dart';

abstract class Rust {
  /// Sets up initial constructs and infinitely polls for advertisements.
  Future<void> init({dynamic hint});

  FlutterRustBridgeTaskConstMeta get kInitConstMeta;

  /// Sets up `StreamSink` for Dart-Rust FFI.
  Stream<StringArray2?> eventStream({dynamic hint});

  FlutterRustBridgeTaskConstMeta get kEventStreamConstMeta;

  /// Attempt classic pairing with currently displayed device.
  Future<String> pair({dynamic hint});

  FlutterRustBridgeTaskConstMeta get kPairConstMeta;

  /// Remove this device from display and add it to the TTL cache blacklist.
  Future<void> dismiss({dynamic hint});

  FlutterRustBridgeTaskConstMeta get kDismissConstMeta;
}

class StringArray2 extends NonGrowableListView<String> {
  static const arraySize = 2;
  StringArray2(List<String> inner)
      : assert(inner.length == arraySize),
        super(inner);
  StringArray2.unchecked(List<String> inner) : super(inner);
  StringArray2.init(String fill) : super(List<String>.filled(arraySize, fill));
}
