/* Options:
Date: 2025-04-09 09:09:33
Version: 6.10
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://staging-api.billiecart.com.au

//GlobalNamespace: 
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: ProjectUntenantedEventStreamRequest.*
//ExcludeTypes: 
//DefaultImports: package:servicestack/servicestack.dart
*/

import 'package:servicestack/servicestack.dart';

abstract class PostOperationUnTenanted<TResponse> implements IPost
{
    PostOperationUnTenanted();
    PostOperationUnTenanted.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "PostOperationUnTenanted<$TResponse>";
    TypeContext? context = _ctx;
}

// @Route("/events/project/untenanted", "POST")
class ProjectUntenantedEventStreamRequest extends PostOperationUnTenanted<EmptyResponse> implements IReturn<EmptyResponse>, IConvertible
{
    ProjectUntenantedEventStreamRequest();
    ProjectUntenantedEventStreamRequest.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    createResponse() => EmptyResponse();
    getResponseTypeName() => "EmptyResponse";
    getTypeName() => "ProjectUntenantedEventStreamRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'staging_api.billiecart.com.au', types: <String, TypeInfo> {
    'PostOperationUnTenanted<TResponse>': TypeInfo(TypeOf.AbstractClass),
    'ProjectUntenantedEventStreamRequest': TypeInfo(TypeOf.Class, create:() => ProjectUntenantedEventStreamRequest()),
});