import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export declare const Requires: {
    readonly BuildReady: "build-ready";
    readonly DeploymentUrl: "deployment-url";
    readonly None: "none";
};
export type Requires = ClosedEnum<typeof Requires>;
export declare const Blocks: {
    readonly BuildStart: "build-start";
    readonly DeploymentStart: "deployment-start";
    readonly DeploymentAlias: "deployment-alias";
    readonly DeploymentPromotion: "deployment-promotion";
    readonly None: "none";
};
export type Blocks = ClosedEnum<typeof Blocks>;
export declare const SourceProvider: {
    readonly Github: "github";
};
export type SourceProvider = ClosedEnum<typeof SourceProvider>;
export type Source3 = {
    kind: string;
    externalCheckName: string;
    provider: SourceProvider;
};
export type CreateProjectCheckSource2 = {
    kind: string;
    webhookId?: string | undefined;
};
export type CreateProjectCheckSource1 = {
    kind?: string | undefined;
    externalResourceId?: string | undefined;
};
export type CreateProjectCheckSource = Source3 | CreateProjectCheckSource2 | CreateProjectCheckSource1;
export type CreateProjectCheckRequestBody = {
    name: string;
    isRerequestable?: boolean | undefined;
    requires?: Requires | undefined;
    targets?: Array<string> | undefined;
    blocks?: Blocks | undefined;
    source?: Source3 | CreateProjectCheckSource2 | CreateProjectCheckSource1 | undefined;
    timeout?: number | undefined;
};
export type CreateProjectCheckRequest = {
    projectIdOrName: string;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
    requestBody?: CreateProjectCheckRequestBody | undefined;
};
export declare const CreateProjectCheckRequires: {
    readonly BuildReady: "build-ready";
    readonly DeploymentUrl: "deployment-url";
    readonly None: "none";
};
export type CreateProjectCheckRequires = ClosedEnum<typeof CreateProjectCheckRequires>;
export declare const CreateProjectCheckSourceProvider: {
    readonly Bitbucket: "bitbucket";
    readonly Github: "github";
    readonly Gitlab: "gitlab";
};
export type CreateProjectCheckSourceProvider = ClosedEnum<typeof CreateProjectCheckSourceProvider>;
export type CreateProjectCheckSource3 = {
    kind: "git-provider";
    provider: CreateProjectCheckSourceProvider;
    externalCheckName: string;
};
export type CreateProjectCheckSourceChecksV22 = {
    kind: "webhook";
    webhookId?: string | undefined;
};
export type CreateProjectCheckSourceChecksV21 = {
    kind: "integration";
    integrationId: string;
    integrationConfigurationId: string;
    resourceId?: string | undefined;
    externalResourceId?: string | undefined;
};
export type CreateProjectCheckChecksV2Source = CreateProjectCheckSourceChecksV21 | CreateProjectCheckSourceChecksV22 | CreateProjectCheckSource3;
export declare const CreateProjectCheckBlocks: {
    readonly BuildStart: "build-start";
    readonly DeploymentAlias: "deployment-alias";
    readonly DeploymentPromotion: "deployment-promotion";
    readonly DeploymentStart: "deployment-start";
    readonly None: "none";
};
export type CreateProjectCheckBlocks = ClosedEnum<typeof CreateProjectCheckBlocks>;
export declare const SourceKind: {
    readonly GitProvider: "git-provider";
    readonly Integration: "integration";
    readonly Vercel: "vercel";
    readonly Webhook: "webhook";
};
export type SourceKind = ClosedEnum<typeof SourceKind>;
export type CreateProjectCheckResponseBody = {
    id: string;
    name: string;
    ownerId: string;
    projectId: string;
    isRerequestable: boolean;
    requires: CreateProjectCheckRequires;
    source: CreateProjectCheckSourceChecksV21 | CreateProjectCheckSourceChecksV22 | CreateProjectCheckSource3;
    blocks: CreateProjectCheckBlocks;
    targets: Array<string>;
    sourceKind: SourceKind;
    sourceIntegrationConfigurationId?: string | undefined;
    timeout: number;
    createdAt: number;
    updatedAt: number;
    deletedAt?: number | undefined;
};
/** @internal */
export declare const Requires$outboundSchema: z.ZodNativeEnum<typeof Requires>;
/** @internal */
export declare const Blocks$outboundSchema: z.ZodNativeEnum<typeof Blocks>;
/** @internal */
export declare const SourceProvider$outboundSchema: z.ZodNativeEnum<typeof SourceProvider>;
/** @internal */
export type Source3$Outbound = {
    kind: string;
    externalCheckName: string;
    provider: string;
};
/** @internal */
export declare const Source3$outboundSchema: z.ZodType<Source3$Outbound, z.ZodTypeDef, Source3>;
export declare function source3ToJSON(source3: Source3): string;
/** @internal */
export type CreateProjectCheckSource2$Outbound = {
    kind: string;
    webhookId?: string | undefined;
};
/** @internal */
export declare const CreateProjectCheckSource2$outboundSchema: z.ZodType<CreateProjectCheckSource2$Outbound, z.ZodTypeDef, CreateProjectCheckSource2>;
export declare function createProjectCheckSource2ToJSON(createProjectCheckSource2: CreateProjectCheckSource2): string;
/** @internal */
export type CreateProjectCheckSource1$Outbound = {
    kind: string;
    externalResourceId?: string | undefined;
};
/** @internal */
export declare const CreateProjectCheckSource1$outboundSchema: z.ZodType<CreateProjectCheckSource1$Outbound, z.ZodTypeDef, CreateProjectCheckSource1>;
export declare function createProjectCheckSource1ToJSON(createProjectCheckSource1: CreateProjectCheckSource1): string;
/** @internal */
export type CreateProjectCheckSource$Outbound = Source3$Outbound | CreateProjectCheckSource2$Outbound | CreateProjectCheckSource1$Outbound;
/** @internal */
export declare const CreateProjectCheckSource$outboundSchema: z.ZodType<CreateProjectCheckSource$Outbound, z.ZodTypeDef, CreateProjectCheckSource>;
export declare function createProjectCheckSourceToJSON(createProjectCheckSource: CreateProjectCheckSource): string;
/** @internal */
export type CreateProjectCheckRequestBody$Outbound = {
    name: string;
    isRerequestable?: boolean | undefined;
    requires: string;
    targets?: Array<string> | undefined;
    blocks: string;
    source?: Source3$Outbound | CreateProjectCheckSource2$Outbound | CreateProjectCheckSource1$Outbound | undefined;
    timeout: number;
};
/** @internal */
export declare const CreateProjectCheckRequestBody$outboundSchema: z.ZodType<CreateProjectCheckRequestBody$Outbound, z.ZodTypeDef, CreateProjectCheckRequestBody>;
export declare function createProjectCheckRequestBodyToJSON(createProjectCheckRequestBody: CreateProjectCheckRequestBody): string;
/** @internal */
export type CreateProjectCheckRequest$Outbound = {
    projectIdOrName: string;
    teamId?: string | undefined;
    slug?: string | undefined;
    RequestBody?: CreateProjectCheckRequestBody$Outbound | undefined;
};
/** @internal */
export declare const CreateProjectCheckRequest$outboundSchema: z.ZodType<CreateProjectCheckRequest$Outbound, z.ZodTypeDef, CreateProjectCheckRequest>;
export declare function createProjectCheckRequestToJSON(createProjectCheckRequest: CreateProjectCheckRequest): string;
/** @internal */
export declare const CreateProjectCheckRequires$inboundSchema: z.ZodNativeEnum<typeof CreateProjectCheckRequires>;
/** @internal */
export declare const CreateProjectCheckSourceProvider$inboundSchema: z.ZodNativeEnum<typeof CreateProjectCheckSourceProvider>;
/** @internal */
export declare const CreateProjectCheckSource3$inboundSchema: z.ZodType<CreateProjectCheckSource3, z.ZodTypeDef, unknown>;
export declare function createProjectCheckSource3FromJSON(jsonString: string): SafeParseResult<CreateProjectCheckSource3, SDKValidationError>;
/** @internal */
export declare const CreateProjectCheckSourceChecksV22$inboundSchema: z.ZodType<CreateProjectCheckSourceChecksV22, z.ZodTypeDef, unknown>;
export declare function createProjectCheckSourceChecksV22FromJSON(jsonString: string): SafeParseResult<CreateProjectCheckSourceChecksV22, SDKValidationError>;
/** @internal */
export declare const CreateProjectCheckSourceChecksV21$inboundSchema: z.ZodType<CreateProjectCheckSourceChecksV21, z.ZodTypeDef, unknown>;
export declare function createProjectCheckSourceChecksV21FromJSON(jsonString: string): SafeParseResult<CreateProjectCheckSourceChecksV21, SDKValidationError>;
/** @internal */
export declare const CreateProjectCheckChecksV2Source$inboundSchema: z.ZodType<CreateProjectCheckChecksV2Source, z.ZodTypeDef, unknown>;
export declare function createProjectCheckChecksV2SourceFromJSON(jsonString: string): SafeParseResult<CreateProjectCheckChecksV2Source, SDKValidationError>;
/** @internal */
export declare const CreateProjectCheckBlocks$inboundSchema: z.ZodNativeEnum<typeof CreateProjectCheckBlocks>;
/** @internal */
export declare const SourceKind$inboundSchema: z.ZodNativeEnum<typeof SourceKind>;
/** @internal */
export declare const CreateProjectCheckResponseBody$inboundSchema: z.ZodType<CreateProjectCheckResponseBody, z.ZodTypeDef, unknown>;
export declare function createProjectCheckResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateProjectCheckResponseBody, SDKValidationError>;
//# sourceMappingURL=createprojectcheckop.d.ts.map