import { INetRequest } from "./Core/INetRequest";
import { NetManagerSD } from "./NetManagerSD";

export abstract class NetRequestSD<TResquest, TResponse> implements INetRequest<TResquest, TResponse> {
	abstract get Method(): string;

	get MethodBack(): string {
		return this.Method;
	}

	Data: TResquest;
	Result: import("./Core/INetResponse").INetResponse<TResponse>;

	SendAsync(mask: boolean = false): Iterator<any> {
		return NetManagerSD.SendAsync(this, mask);
	}

	Send() {
		NetManagerSD.Send(this);
	}
}
