import type { AnyRequest, Request } from '../Request'
import type { Either } from '@principia/base/Either'
import type { Maybe } from '@principia/base/Maybe'
import type { URef } from '@principia/base/Ref'
import type { _A, _E } from '@principia/base/util/types'
export const BlockedRequestTypeId = Symbol('@principia/query/internal/BlockedRequest')
export type BlockedRequestTypeId = typeof BlockedRequestTypeId
export class BlockedRequest {
readonly _A!: () => A
readonly [BlockedRequestTypeId]: BlockedRequestTypeId = BlockedRequestTypeId
constructor(readonly request: Request<_E, _A>, readonly result: URef, _A>>>) {}
}
export function make(request: A, result: URef, _A>>>): BlockedRequest {
return new BlockedRequest(request, result)
}