import type * as Types from "./Types.js";
/**
* @since 2.0.0
* @category symbols
*/
export declare const UpstreamPullRequestTypeId: unique symbol;
/**
* @since 2.0.0
* @category symbols
*/
export type UpstreamPullRequestTypeId = typeof UpstreamPullRequestTypeId;
/**
* @since 2.0.0
* @category models
*/
export type UpstreamPullRequest = Pulled | NoUpstream;
/**
* @since 2.0.0
*/
export declare namespace UpstreamPullRequest {
/**
* @since 2.0.0
* @category models
*/
interface Variance {
readonly [UpstreamPullRequestTypeId]: {
readonly _A: Types.Covariant;
};
}
}
/**
* @since 2.0.0
* @category models
*/
export interface Pulled extends UpstreamPullRequest.Variance {
readonly _tag: "Pulled";
readonly value: A;
}
/**
* @since 2.0.0
* @category models
*/
export interface NoUpstream extends UpstreamPullRequest.Variance {
readonly _tag: "NoUpstream";
readonly activeDownstreamCount: number;
}
/**
* @since 2.0.0
* @category constructors
*/
export declare const Pulled: (value: A) => UpstreamPullRequest;
/**
* @since 2.0.0
* @category constructors
*/
export declare const NoUpstream: (activeDownstreamCount: number) => UpstreamPullRequest;
/**
* Returns `true` if the specified value is an `UpstreamPullRequest`, `false`
* otherwise.
*
* @since 2.0.0
* @category refinements
*/
export declare const isUpstreamPullRequest: (u: unknown) => u is UpstreamPullRequest;
/**
* Returns `true` if the specified `UpstreamPullRequest` is a `Pulled`, `false`
* otherwise.
*
* @since 2.0.0
* @category refinements
*/
export declare const isPulled: (self: UpstreamPullRequest) => self is Pulled;
/**
* Returns `true` if the specified `UpstreamPullRequest` is a `NoUpstream`,
* `false` otherwise.
*
* @since 2.0.0
* @category refinements
*/
export declare const isNoUpstream: (self: UpstreamPullRequest) => self is NoUpstream;
/**
* Folds an `UpstreamPullRequest` into a value of type `Z`.
*
* @since 2.0.0
* @category folding
*/
export declare const match: {
/**
* Folds an `UpstreamPullRequest` into a value of type `Z`.
*
* @since 2.0.0
* @category folding
*/
(options: {
readonly onPulled: (value: A) => Z;
readonly onNoUpstream: (activeDownstreamCount: number) => Z;
}): (self: UpstreamPullRequest) => Z;
/**
* Folds an `UpstreamPullRequest` into a value of type `Z`.
*
* @since 2.0.0
* @category folding
*/
(self: UpstreamPullRequest, options: {
readonly onPulled: (value: A) => Z;
readonly onNoUpstream: (activeDownstreamCount: number) => Z;
}): Z;
};
//# sourceMappingURL=UpstreamPullRequest.d.ts.map