library;

export 'src/presentation/facade/networks_sdk_api.dart';
export 'src/presentation/facade/networks_messaging_api.dart';

// Wiring - Implementations
export 'src/presentation/wiring/networks_messaging_api_impl.dart';

// Dio 类型重导出（App 层上传 / CancelToken / override decodeResponse 需要，避免直接依赖 dio）
export 'package:dio/dio.dart'
    show FormData, MultipartFile, Response, CancelToken;

// Config
export 'src/presentation/wiring/api_config.dart';
export 'src/presentation/wiring/socket_config.dart';
export 'src/presentation/wiring/network_callbacks.dart';

// Model
export 'src/data/dto/api_requestable.dart';
export 'src/data/dto/api_response_wrapper.dart';
export 'src/domain/entities/api_error.dart';
export 'src/domain/entities/encrypted_request.dart';
export 'src/domain/entities/http_method.dart';
export 'src/domain/entities/api_request_type.dart';

// Socket Entities
export 'src/domain/entities/socket_connection_state.dart';
export 'src/domain/entities/socket_error.dart';

// Annotations（代码生成）
export 'src/annotations/api_request.dart';
export 'src/annotations/api_response.dart';
