import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { Block, BlockHistory4, CreateProjectDeploymentPolicy, CreateProjectGitComments, CreateProjectHasProjectsResponse1, CreateProjectHasProjectsResponse2, CreateProjectHistory, CreateProjectOidcTokenConfig, CreateProjectPassport, CreateProjectPermissions, CreateProjectProjectsResourceConfig, CreateProjectProjectsSsoProtection, CreateProjectRollbackDescription, CreateProjectSandbox, CreateProjectSecurity, CreateProjectStaticIps, CreateProjectTargets, CreateProjectTier, CreateProjectTrustedIps, CreateProjectTrustedSources, CreateProjectWebAnalytics, DefaultResourceConfig, Features, GitProviderOptions, LastAliasRequest, LastRollbackTarget, ProtectionBypass, ProtectionConfig, RollingRelease, UsageStatus } from "./createprojecthasprojectsresponse1.js";
import { Alias, Analytics, Blobs, CreateProjectConnectConfigurations, CreateProjectCreator, CreateProjectCrons, CreateProjectCustomEnvironments, CreateProjectDataCache, CreateProjectEnv, CreateProjectExpiration, CreateProjectIpBuckets, CreateProjectMicrofrontends, CreateProjectNodeVersion, CreateProjectOptionsAllowlist, CreateProjectPasswordProtection, CreateProjectProjectsFramework, CreateProjectServices, DeploymentExpiration, Jobs, LatestDeployments, Link, SpeedInsights } from "./createprojectpasswordprotection.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type RouteHas = CreateProjectHasProjectsResponse1 | CreateProjectHasProjectsResponse2;
export declare const RouteAction: {
    readonly BlockLegalCwc: "block_legal_cwc";
};
export type RouteAction = ClosedEnum<typeof RouteAction>;
export type RouteMitigate = {
    action: RouteAction;
};
export type Route2 = {
    has: Array<CreateProjectHasProjectsResponse1 | CreateProjectHasProjectsResponse2>;
    mitigate: RouteMitigate;
    src?: string | undefined;
};
export type Route1 = {
    src: string;
    status: number;
    expiry?: number | undefined;
};
export type BlockHistoryRoute = Route1 | Route2;
export type BlockHistory3 = {
    action: "route-blocked";
    route: Route1 | Route2;
    reason: string;
    createdAt: number;
    caseId?: string | undefined;
    actor?: string | undefined;
    comment?: string | undefined;
    ineligibleForAppeal?: boolean | undefined;
    isCascading?: boolean | undefined;
};
export type BlockHistory2 = {
    action: "unblocked";
    createdAt: number;
    caseId?: string | undefined;
    actor?: string | undefined;
    comment?: string | undefined;
    ineligibleForAppeal?: boolean | undefined;
    isCascading?: boolean | undefined;
};
export type BlockHistory1 = {
    action: "blocked";
    reason: string;
    statusCode: number;
    createdAt: number;
    caseId?: string | undefined;
    actor?: string | undefined;
    comment?: string | undefined;
    ineligibleForAppeal?: boolean | undefined;
    isCascading?: boolean | undefined;
};
export type CreateProjectBlockHistory = BlockHistory1 | BlockHistory2 | BlockHistory3 | BlockHistory4;
export declare const CreateProjectProjectsResponse200Action: {
    readonly AddDeploymentInterstitial: "add-deployment-interstitial";
    readonly AddProjectInterstitial: "add-project-interstitial";
    readonly RemoveDeploymentInterstitial: "remove-deployment-interstitial";
    readonly RemoveProjectInterstitial: "remove-project-interstitial";
};
export type CreateProjectProjectsResponse200Action = ClosedEnum<typeof CreateProjectProjectsResponse200Action>;
export type InterstitialHistory = {
    action: CreateProjectProjectsResponse200Action;
    createdAt: number;
    caseId?: string | undefined;
    reason?: string | undefined;
    actor?: string | undefined;
    comment?: string | undefined;
};
export type CreateProjectAbuse = {
    scanner?: string | undefined;
    history: Array<CreateProjectHistory>;
    updatedAt: number;
    block?: Block | undefined;
    blockHistory?: Array<BlockHistory1 | BlockHistory2 | BlockHistory3 | BlockHistory4> | undefined;
    interstitial?: boolean | undefined;
    interstitialHistory?: Array<InterstitialHistory> | undefined;
};
export type CreateProjectHasProjectsValue = {
    eq: string;
};
export type CreateProjectHas2 = {
    type: "host";
    value: CreateProjectHasProjectsValue;
};
export declare const CreateProjectHasKey: {
    readonly XVercelIpCountry: "x-vercel-ip-country";
};
export type CreateProjectHasKey = ClosedEnum<typeof CreateProjectHasKey>;
export type CreateProjectHasValue = {
    eq: string;
};
export type CreateProjectHas1 = {
    type: "header";
    key: CreateProjectHasKey;
    value: CreateProjectHasValue;
};
export type InternalRoutesHas = CreateProjectHas1 | CreateProjectHas2;
export declare const InternalRoutesAction: {
    readonly BlockLegalCwc: "block_legal_cwc";
};
export type InternalRoutesAction = ClosedEnum<typeof InternalRoutesAction>;
export type InternalRoutesMitigate = {
    action: InternalRoutesAction;
};
export type InternalRoutes2 = {
    has: Array<CreateProjectHas1 | CreateProjectHas2>;
    mitigate: InternalRoutesMitigate;
    src?: string | undefined;
};
export type InternalRoutes1 = {
    src: string;
    status: number;
    expiry?: number | undefined;
};
export type InternalRoutes = InternalRoutes1 | InternalRoutes2;
export declare const CreateProjectAction: {
    readonly Accept: "accept";
    readonly Cancel: "cancel";
    readonly Delete: "delete";
};
export type CreateProjectAction = ClosedEnum<typeof CreateProjectAction>;
export type CreateProjectValuePreviousValue = string | number | boolean;
export type CreateProjectValueCurrentValue = string | number | boolean;
export type Value3 = {
    previousValue: string | number | boolean;
    currentValue: string | number | boolean;
};
export type CreateProjectValue = Value3 | string | number | boolean;
export type CreateProjectDismissedToasts = {
    key: string;
    dismissedAt: number;
    action: CreateProjectAction;
    value: Value3 | string | number | boolean | null;
};
export declare const CreateProjectProjectsEnv: {
    readonly Preview: "preview";
    readonly Production: "production";
};
export type CreateProjectProjectsEnv = ClosedEnum<typeof CreateProjectProjectsEnv>;
/**
 * Which tracing destination this rule applies to. `internal` is the hidden Vercel production-tracing drain (internal delivery); `external` is any customer-configured drain. Derived from the owning drain's delivery type when project tracing is computed; absent on configs persisted before this field existed.
 */
export declare const CreateProjectDestination: {
    readonly External: "external";
    readonly Internal: "internal";
};
/**
 * Which tracing destination this rule applies to. `internal` is the hidden Vercel production-tracing drain (internal delivery); `external` is any customer-configured drain. Derived from the owning drain's delivery type when project tracing is computed; absent on configs persisted before this field existed.
 */
export type CreateProjectDestination = ClosedEnum<typeof CreateProjectDestination>;
export type CreateProjectSamplingRules = {
    rate: number;
    env?: CreateProjectProjectsEnv | undefined;
    requestPath?: string | undefined;
    /**
     * Which tracing destination this rule applies to. `internal` is the hidden Vercel production-tracing drain (internal delivery); `external` is any customer-configured drain. Derived from the owning drain's delivery type when project tracing is computed; absent on configs persisted before this field existed.
     */
    destination?: CreateProjectDestination | undefined;
};
export type CreateProjectTracing = {
    domains?: string | undefined;
    ignorePaths?: Array<string> | undefined;
    samplingRules?: Array<CreateProjectSamplingRules> | undefined;
};
/**
 * The project was successfuly created
 */
export type CreateProjectResponseBody = {
    accountId: string;
    creator?: CreateProjectCreator | undefined;
    alias: Array<Alias>;
    analytics?: Analytics | undefined;
    appliedCve55182Migration?: boolean | undefined;
    speedInsights?: SpeedInsights | undefined;
    autoExposeSystemEnvs?: boolean | undefined;
    autoAssignCustomDomains?: boolean | undefined;
    autoAssignCustomDomainsUpdatedBy?: string | undefined;
    buildCommand?: string | null | undefined;
    commandForIgnoringBuildStep?: string | null | undefined;
    connectConfigurations?: Array<CreateProjectConnectConfigurations> | null | undefined;
    connectConfigurationId?: string | null | undefined;
    connectBuildsEnabled?: boolean | undefined;
    passiveConnectConfigurationId?: string | null | undefined;
    createdAt?: number | undefined;
    customerSupportCodeVisibility?: boolean | undefined;
    crons?: CreateProjectCrons | undefined;
    dataCache?: CreateProjectDataCache | undefined;
    /**
     * Retention policies for deployments. These are enforced at the project level, but we also maintain an instance of this at the team level as a default policy that gets applied to new projects.
     */
    deploymentExpiration: DeploymentExpiration;
    expiration?: CreateProjectExpiration | undefined;
    devCommand?: string | null | undefined;
    directoryListing: boolean;
    installCommand?: string | null | undefined;
    env?: Array<CreateProjectEnv> | undefined;
    customEnvironments?: Array<CreateProjectCustomEnvironments> | undefined;
    framework?: CreateProjectProjectsFramework | null | undefined;
    services?: Array<CreateProjectServices> | undefined;
    gitForkProtection?: boolean | undefined;
    gitLFS?: boolean | undefined;
    id: string;
    ipBuckets?: Array<CreateProjectIpBuckets> | undefined;
    jobs?: Jobs | undefined;
    latestDeployments?: Array<LatestDeployments> | undefined;
    link?: Link | undefined;
    blobs?: Blobs | undefined;
    microfrontends?: CreateProjectMicrofrontends | undefined;
    name: string;
    nodeVersion: CreateProjectNodeVersion;
    optionsAllowlist?: CreateProjectOptionsAllowlist | null | undefined;
    outputDirectory?: string | null | undefined;
    passwordProtection?: CreateProjectPasswordProtection | null | undefined;
    passport?: CreateProjectPassport | null | undefined;
    protectionConfig?: ProtectionConfig | undefined;
    sandbox?: CreateProjectSandbox | undefined;
    productionDeploymentsFastLane?: boolean | undefined;
    resourceConfig: CreateProjectProjectsResourceConfig;
    /**
     * Description of why a project was rolled back, and by whom. Note that lastAliasRequest contains the from/to details of the rollback.
     */
    rollbackDescription?: CreateProjectRollbackDescription | undefined;
    /**
     * Project-level rolling release configuration that defines how deployments should be gradually rolled out
     */
    rollingRelease?: RollingRelease | null | undefined;
    defaultResourceConfig: DefaultResourceConfig;
    rootDirectory?: string | null | undefined;
    serverlessFunctionZeroConfigFailover?: boolean | undefined;
    skewProtectionBoundaryAt?: number | undefined;
    skewProtectionMaxAge?: number | undefined;
    skewProtectionAllowedDomains?: Array<string> | undefined;
    skipGitConnectDuringLink?: boolean | undefined;
    staticIps?: CreateProjectStaticIps | undefined;
    sourceFilesOutsideRootDirectory?: boolean | undefined;
    enableAffectedProjectsDeployments?: boolean | undefined;
    enableExternalRewriteCaching?: boolean | undefined;
    ssoProtection?: CreateProjectProjectsSsoProtection | null | undefined;
    targets?: {
        [k: string]: CreateProjectTargets | null;
    } | undefined;
    transferCompletedAt?: number | undefined;
    transferStartedAt?: number | undefined;
    transferToAccountId?: string | undefined;
    transferredFromAccountId?: string | undefined;
    updatedAt?: number | undefined;
    live?: boolean | undefined;
    enablePreviewFeedback?: boolean | null | undefined;
    enableProductionFeedback?: boolean | null | undefined;
    permissions?: CreateProjectPermissions | undefined;
    lastRollbackTarget?: LastRollbackTarget | null | undefined;
    lastAliasRequest?: LastAliasRequest | null | undefined;
    protectionBypass?: {
        [k: string]: ProtectionBypass;
    } | undefined;
    hasActiveBranches?: boolean | undefined;
    trustedIps?: CreateProjectTrustedIps | null | undefined;
    trustedSources?: CreateProjectTrustedSources | null | undefined;
    gitComments?: CreateProjectGitComments | undefined;
    gitProviderOptions?: GitProviderOptions | undefined;
    paused?: boolean | undefined;
    concurrencyBucketName?: string | undefined;
    webAnalytics?: CreateProjectWebAnalytics | undefined;
    security?: CreateProjectSecurity | undefined;
    oidcTokenConfig?: CreateProjectOidcTokenConfig | undefined;
    /**
     * Project shape. `null` on a rule list clears the project's override for that rule type (fall back to team for every env); omitting is equivalent. Setting `deploymentPolicy` itself to `null` clears every override at once. Kept structurally distinct from {@link TeamDeploymentPolicy} so the two storage locations don't share a type by accident.
     */
    deploymentPolicy?: CreateProjectDeploymentPolicy | null | undefined;
    tier?: CreateProjectTier | undefined;
    usageStatus?: UsageStatus | undefined;
    features?: Features | undefined;
    v0?: boolean | undefined;
    v0Created?: boolean | undefined;
    abuse?: CreateProjectAbuse | undefined;
    internalRoutes?: Array<InternalRoutes1 | InternalRoutes2> | undefined;
    hasDeployments?: boolean | undefined;
    dismissedToasts?: Array<CreateProjectDismissedToasts> | undefined;
    protectedSourcemaps?: boolean | undefined;
    tracing?: CreateProjectTracing | undefined;
    avatar?: string | null | undefined;
};
/** @internal */
export declare const RouteHas$inboundSchema: z.ZodType<RouteHas, z.ZodTypeDef, unknown>;
export declare function routeHasFromJSON(jsonString: string): SafeParseResult<RouteHas, SDKValidationError>;
/** @internal */
export declare const RouteAction$inboundSchema: z.ZodNativeEnum<typeof RouteAction>;
/** @internal */
export declare const RouteMitigate$inboundSchema: z.ZodType<RouteMitigate, z.ZodTypeDef, unknown>;
export declare function routeMitigateFromJSON(jsonString: string): SafeParseResult<RouteMitigate, SDKValidationError>;
/** @internal */
export declare const Route2$inboundSchema: z.ZodType<Route2, z.ZodTypeDef, unknown>;
export declare function route2FromJSON(jsonString: string): SafeParseResult<Route2, SDKValidationError>;
/** @internal */
export declare const Route1$inboundSchema: z.ZodType<Route1, z.ZodTypeDef, unknown>;
export declare function route1FromJSON(jsonString: string): SafeParseResult<Route1, SDKValidationError>;
/** @internal */
export declare const BlockHistoryRoute$inboundSchema: z.ZodType<BlockHistoryRoute, z.ZodTypeDef, unknown>;
export declare function blockHistoryRouteFromJSON(jsonString: string): SafeParseResult<BlockHistoryRoute, SDKValidationError>;
/** @internal */
export declare const BlockHistory3$inboundSchema: z.ZodType<BlockHistory3, z.ZodTypeDef, unknown>;
export declare function blockHistory3FromJSON(jsonString: string): SafeParseResult<BlockHistory3, SDKValidationError>;
/** @internal */
export declare const BlockHistory2$inboundSchema: z.ZodType<BlockHistory2, z.ZodTypeDef, unknown>;
export declare function blockHistory2FromJSON(jsonString: string): SafeParseResult<BlockHistory2, SDKValidationError>;
/** @internal */
export declare const BlockHistory1$inboundSchema: z.ZodType<BlockHistory1, z.ZodTypeDef, unknown>;
export declare function blockHistory1FromJSON(jsonString: string): SafeParseResult<BlockHistory1, SDKValidationError>;
/** @internal */
export declare const CreateProjectBlockHistory$inboundSchema: z.ZodType<CreateProjectBlockHistory, z.ZodTypeDef, unknown>;
export declare function createProjectBlockHistoryFromJSON(jsonString: string): SafeParseResult<CreateProjectBlockHistory, SDKValidationError>;
/** @internal */
export declare const CreateProjectProjectsResponse200Action$inboundSchema: z.ZodNativeEnum<typeof CreateProjectProjectsResponse200Action>;
/** @internal */
export declare const InterstitialHistory$inboundSchema: z.ZodType<InterstitialHistory, z.ZodTypeDef, unknown>;
export declare function interstitialHistoryFromJSON(jsonString: string): SafeParseResult<InterstitialHistory, SDKValidationError>;
/** @internal */
export declare const CreateProjectAbuse$inboundSchema: z.ZodType<CreateProjectAbuse, z.ZodTypeDef, unknown>;
export declare function createProjectAbuseFromJSON(jsonString: string): SafeParseResult<CreateProjectAbuse, SDKValidationError>;
/** @internal */
export declare const CreateProjectHasProjectsValue$inboundSchema: z.ZodType<CreateProjectHasProjectsValue, z.ZodTypeDef, unknown>;
export declare function createProjectHasProjectsValueFromJSON(jsonString: string): SafeParseResult<CreateProjectHasProjectsValue, SDKValidationError>;
/** @internal */
export declare const CreateProjectHas2$inboundSchema: z.ZodType<CreateProjectHas2, z.ZodTypeDef, unknown>;
export declare function createProjectHas2FromJSON(jsonString: string): SafeParseResult<CreateProjectHas2, SDKValidationError>;
/** @internal */
export declare const CreateProjectHasKey$inboundSchema: z.ZodNativeEnum<typeof CreateProjectHasKey>;
/** @internal */
export declare const CreateProjectHasValue$inboundSchema: z.ZodType<CreateProjectHasValue, z.ZodTypeDef, unknown>;
export declare function createProjectHasValueFromJSON(jsonString: string): SafeParseResult<CreateProjectHasValue, SDKValidationError>;
/** @internal */
export declare const CreateProjectHas1$inboundSchema: z.ZodType<CreateProjectHas1, z.ZodTypeDef, unknown>;
export declare function createProjectHas1FromJSON(jsonString: string): SafeParseResult<CreateProjectHas1, SDKValidationError>;
/** @internal */
export declare const InternalRoutesHas$inboundSchema: z.ZodType<InternalRoutesHas, z.ZodTypeDef, unknown>;
export declare function internalRoutesHasFromJSON(jsonString: string): SafeParseResult<InternalRoutesHas, SDKValidationError>;
/** @internal */
export declare const InternalRoutesAction$inboundSchema: z.ZodNativeEnum<typeof InternalRoutesAction>;
/** @internal */
export declare const InternalRoutesMitigate$inboundSchema: z.ZodType<InternalRoutesMitigate, z.ZodTypeDef, unknown>;
export declare function internalRoutesMitigateFromJSON(jsonString: string): SafeParseResult<InternalRoutesMitigate, SDKValidationError>;
/** @internal */
export declare const InternalRoutes2$inboundSchema: z.ZodType<InternalRoutes2, z.ZodTypeDef, unknown>;
export declare function internalRoutes2FromJSON(jsonString: string): SafeParseResult<InternalRoutes2, SDKValidationError>;
/** @internal */
export declare const InternalRoutes1$inboundSchema: z.ZodType<InternalRoutes1, z.ZodTypeDef, unknown>;
export declare function internalRoutes1FromJSON(jsonString: string): SafeParseResult<InternalRoutes1, SDKValidationError>;
/** @internal */
export declare const InternalRoutes$inboundSchema: z.ZodType<InternalRoutes, z.ZodTypeDef, unknown>;
export declare function internalRoutesFromJSON(jsonString: string): SafeParseResult<InternalRoutes, SDKValidationError>;
/** @internal */
export declare const CreateProjectAction$inboundSchema: z.ZodNativeEnum<typeof CreateProjectAction>;
/** @internal */
export declare const CreateProjectValuePreviousValue$inboundSchema: z.ZodType<CreateProjectValuePreviousValue, z.ZodTypeDef, unknown>;
export declare function createProjectValuePreviousValueFromJSON(jsonString: string): SafeParseResult<CreateProjectValuePreviousValue, SDKValidationError>;
/** @internal */
export declare const CreateProjectValueCurrentValue$inboundSchema: z.ZodType<CreateProjectValueCurrentValue, z.ZodTypeDef, unknown>;
export declare function createProjectValueCurrentValueFromJSON(jsonString: string): SafeParseResult<CreateProjectValueCurrentValue, SDKValidationError>;
/** @internal */
export declare const Value3$inboundSchema: z.ZodType<Value3, z.ZodTypeDef, unknown>;
export declare function value3FromJSON(jsonString: string): SafeParseResult<Value3, SDKValidationError>;
/** @internal */
export declare const CreateProjectValue$inboundSchema: z.ZodType<CreateProjectValue, z.ZodTypeDef, unknown>;
export declare function createProjectValueFromJSON(jsonString: string): SafeParseResult<CreateProjectValue, SDKValidationError>;
/** @internal */
export declare const CreateProjectDismissedToasts$inboundSchema: z.ZodType<CreateProjectDismissedToasts, z.ZodTypeDef, unknown>;
export declare function createProjectDismissedToastsFromJSON(jsonString: string): SafeParseResult<CreateProjectDismissedToasts, SDKValidationError>;
/** @internal */
export declare const CreateProjectProjectsEnv$inboundSchema: z.ZodNativeEnum<typeof CreateProjectProjectsEnv>;
/** @internal */
export declare const CreateProjectDestination$inboundSchema: z.ZodNativeEnum<typeof CreateProjectDestination>;
/** @internal */
export declare const CreateProjectSamplingRules$inboundSchema: z.ZodType<CreateProjectSamplingRules, z.ZodTypeDef, unknown>;
export declare function createProjectSamplingRulesFromJSON(jsonString: string): SafeParseResult<CreateProjectSamplingRules, SDKValidationError>;
/** @internal */
export declare const CreateProjectTracing$inboundSchema: z.ZodType<CreateProjectTracing, z.ZodTypeDef, unknown>;
export declare function createProjectTracingFromJSON(jsonString: string): SafeParseResult<CreateProjectTracing, SDKValidationError>;
/** @internal */
export declare const CreateProjectResponseBody$inboundSchema: z.ZodType<CreateProjectResponseBody, z.ZodTypeDef, unknown>;
export declare function createProjectResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateProjectResponseBody, SDKValidationError>;
//# sourceMappingURL=createprojectresponsebody.d.ts.map