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";
import { UpdateProjectAbuse, UpdateProjectDefaultResourceConfig, UpdateProjectFeatures, UpdateProjectFlatRateTier, UpdateProjectGitComments, UpdateProjectGitProviderOptions, UpdateProjectInternalRoutes, UpdateProjectLastAliasRequest, UpdateProjectLastRollbackTarget, UpdateProjectPermissions, UpdateProjectProjectsAction, UpdateProjectProjectsDeploymentPolicy, UpdateProjectProjectsOidcTokenConfig, UpdateProjectProjectsPassport, UpdateProjectProjectsPasswordProtection, UpdateProjectProjectsResourceConfig, UpdateProjectProjectsSsoProtection, UpdateProjectProjectsStaticIps, UpdateProjectProjectsTrustedIps, UpdateProjectProtectionBypass, UpdateProjectProtectionConfig, UpdateProjectRollbackDescription, UpdateProjectRollingRelease, UpdateProjectSecurity, UpdateProjectTargets, UpdateProjectTrustedSources, UpdateProjectUsageStatus, UpdateProjectWebAnalytics } from "./updateprojectprojectsaction.js";
import { UpdateProjectAnalytics, UpdateProjectConnectConfigurations, UpdateProjectCrons, UpdateProjectCustomEnvironments, UpdateProjectDataCache, UpdateProjectDeploymentExpiration, UpdateProjectExpiration, UpdateProjectIpBuckets, UpdateProjectJobs, UpdateProjectLatestDeployments, UpdateProjectLink, UpdateProjectMicrofrontends, UpdateProjectProjectsEnv, UpdateProjectProjectsFramework, UpdateProjectProjectsNodeVersion, UpdateProjectProjectsOptionsAllowlist, UpdateProjectServices, UpdateProjectSpeedInsights } from "./updateprojectprojectsoptionsallowlist.js";
export type UpdateProjectValuePreviousValue = string | number | boolean;
export type UpdateProjectValueCurrentValue = string | number | boolean;
export type UpdateProjectValue3 = {
    previousValue: string | number | boolean;
    currentValue: string | number | boolean;
};
export type UpdateProjectValue = UpdateProjectValue3 | string | number | boolean;
export type UpdateProjectProjectsDismissedToasts = {
    key: string;
    dismissedAt: number;
    action: UpdateProjectProjectsAction;
    value: UpdateProjectValue3 | string | number | boolean | null;
};
export declare const UpdateProjectProjectsResponseEnv: {
    readonly Preview: "preview";
    readonly Production: "production";
};
export type UpdateProjectProjectsResponseEnv = ClosedEnum<typeof UpdateProjectProjectsResponseEnv>;
export type UpdateProjectSamplingRules = {
    rate: number;
    env?: UpdateProjectProjectsResponseEnv | undefined;
    requestPath?: string | undefined;
};
export type UpdateProjectTracing = {
    domains?: string | undefined;
    ignorePaths?: Array<string> | undefined;
    samplingRules?: Array<UpdateProjectSamplingRules> | undefined;
};
/**
 * The project was successfully updated
 */
export type UpdateProjectResponseBody = {
    accountId: string;
    analytics?: UpdateProjectAnalytics | undefined;
    appliedCve55182Migration?: boolean | undefined;
    speedInsights?: UpdateProjectSpeedInsights | undefined;
    autoExposeSystemEnvs?: boolean | undefined;
    autoAssignCustomDomains?: boolean | undefined;
    autoAssignCustomDomainsUpdatedBy?: string | undefined;
    buildCommand?: string | null | undefined;
    commandForIgnoringBuildStep?: string | null | undefined;
    connectConfigurations?: Array<UpdateProjectConnectConfigurations> | null | undefined;
    connectConfigurationId?: string | null | undefined;
    connectBuildsEnabled?: boolean | undefined;
    passiveConnectConfigurationId?: string | null | undefined;
    createdAt?: number | undefined;
    customerSupportCodeVisibility?: boolean | undefined;
    crons?: UpdateProjectCrons | undefined;
    dataCache?: UpdateProjectDataCache | 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: UpdateProjectDeploymentExpiration;
    expiration?: UpdateProjectExpiration | undefined;
    devCommand?: string | null | undefined;
    directoryListing: boolean;
    installCommand?: string | null | undefined;
    env?: Array<UpdateProjectProjectsEnv> | undefined;
    customEnvironments?: Array<UpdateProjectCustomEnvironments> | undefined;
    framework?: UpdateProjectProjectsFramework | null | undefined;
    services?: Array<UpdateProjectServices> | undefined;
    gitForkProtection?: boolean | undefined;
    gitLFS?: boolean | undefined;
    id: string;
    ipBuckets?: Array<UpdateProjectIpBuckets> | undefined;
    jobs?: UpdateProjectJobs | undefined;
    latestDeployments?: Array<UpdateProjectLatestDeployments> | undefined;
    link?: UpdateProjectLink | undefined;
    microfrontends?: UpdateProjectMicrofrontends | undefined;
    name: string;
    nodeVersion: UpdateProjectProjectsNodeVersion;
    optionsAllowlist?: UpdateProjectProjectsOptionsAllowlist | null | undefined;
    outputDirectory?: string | null | undefined;
    passwordProtection?: UpdateProjectProjectsPasswordProtection | null | undefined;
    passport?: UpdateProjectProjectsPassport | null | undefined;
    protectionConfig?: UpdateProjectProtectionConfig | undefined;
    productionDeploymentsFastLane?: boolean | undefined;
    resourceConfig: UpdateProjectProjectsResourceConfig;
    /**
     * Description of why a project was rolled back, and by whom. Note that lastAliasRequest contains the from/to details of the rollback.
     */
    rollbackDescription?: UpdateProjectRollbackDescription | undefined;
    /**
     * Project-level rolling release configuration that defines how deployments should be gradually rolled out
     */
    rollingRelease?: UpdateProjectRollingRelease | null | undefined;
    defaultResourceConfig: UpdateProjectDefaultResourceConfig;
    rootDirectory?: string | null | undefined;
    serverlessFunctionZeroConfigFailover?: boolean | undefined;
    skewProtectionBoundaryAt?: number | undefined;
    skewProtectionMaxAge?: number | undefined;
    skewProtectionAllowedDomains?: Array<string> | undefined;
    skipGitConnectDuringLink?: boolean | undefined;
    staticIps?: UpdateProjectProjectsStaticIps | undefined;
    sourceFilesOutsideRootDirectory?: boolean | undefined;
    enableAffectedProjectsDeployments?: boolean | undefined;
    enableExternalRewriteCaching?: boolean | undefined;
    ssoProtection?: UpdateProjectProjectsSsoProtection | null | undefined;
    targets?: {
        [k: string]: UpdateProjectTargets | 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?: UpdateProjectPermissions | undefined;
    lastRollbackTarget?: UpdateProjectLastRollbackTarget | null | undefined;
    lastAliasRequest?: UpdateProjectLastAliasRequest | null | undefined;
    protectionBypass?: {
        [k: string]: UpdateProjectProtectionBypass;
    } | undefined;
    hasActiveBranches?: boolean | undefined;
    trustedIps?: UpdateProjectProjectsTrustedIps | null | undefined;
    trustedSources?: UpdateProjectTrustedSources | null | undefined;
    gitComments?: UpdateProjectGitComments | undefined;
    gitProviderOptions?: UpdateProjectGitProviderOptions | undefined;
    paused?: boolean | undefined;
    concurrencyBucketName?: string | undefined;
    webAnalytics?: UpdateProjectWebAnalytics | undefined;
    security?: UpdateProjectSecurity | undefined;
    oidcTokenConfig?: UpdateProjectProjectsOidcTokenConfig | 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?: UpdateProjectProjectsDeploymentPolicy | null | undefined;
    tier?: string | undefined;
    flatRateTier?: UpdateProjectFlatRateTier | undefined;
    usageStatus?: UpdateProjectUsageStatus | undefined;
    features?: UpdateProjectFeatures | undefined;
    v0?: boolean | undefined;
    v0Created?: boolean | undefined;
    abuse?: UpdateProjectAbuse | undefined;
    internalRoutes?: Array<UpdateProjectInternalRoutes> | undefined;
    hasDeployments?: boolean | undefined;
    dismissedToasts?: Array<UpdateProjectProjectsDismissedToasts> | undefined;
    protectedSourcemaps?: boolean | undefined;
    tracing?: UpdateProjectTracing | undefined;
    avatar?: string | null | undefined;
};
/** @internal */
export declare const UpdateProjectValuePreviousValue$inboundSchema: z.ZodType<UpdateProjectValuePreviousValue, z.ZodTypeDef, unknown>;
export declare function updateProjectValuePreviousValueFromJSON(jsonString: string): SafeParseResult<UpdateProjectValuePreviousValue, SDKValidationError>;
/** @internal */
export declare const UpdateProjectValueCurrentValue$inboundSchema: z.ZodType<UpdateProjectValueCurrentValue, z.ZodTypeDef, unknown>;
export declare function updateProjectValueCurrentValueFromJSON(jsonString: string): SafeParseResult<UpdateProjectValueCurrentValue, SDKValidationError>;
/** @internal */
export declare const UpdateProjectValue3$inboundSchema: z.ZodType<UpdateProjectValue3, z.ZodTypeDef, unknown>;
export declare function updateProjectValue3FromJSON(jsonString: string): SafeParseResult<UpdateProjectValue3, SDKValidationError>;
/** @internal */
export declare const UpdateProjectValue$inboundSchema: z.ZodType<UpdateProjectValue, z.ZodTypeDef, unknown>;
export declare function updateProjectValueFromJSON(jsonString: string): SafeParseResult<UpdateProjectValue, SDKValidationError>;
/** @internal */
export declare const UpdateProjectProjectsDismissedToasts$inboundSchema: z.ZodType<UpdateProjectProjectsDismissedToasts, z.ZodTypeDef, unknown>;
export declare function updateProjectProjectsDismissedToastsFromJSON(jsonString: string): SafeParseResult<UpdateProjectProjectsDismissedToasts, SDKValidationError>;
/** @internal */
export declare const UpdateProjectProjectsResponseEnv$inboundSchema: z.ZodNativeEnum<typeof UpdateProjectProjectsResponseEnv>;
/** @internal */
export declare const UpdateProjectSamplingRules$inboundSchema: z.ZodType<UpdateProjectSamplingRules, z.ZodTypeDef, unknown>;
export declare function updateProjectSamplingRulesFromJSON(jsonString: string): SafeParseResult<UpdateProjectSamplingRules, SDKValidationError>;
/** @internal */
export declare const UpdateProjectTracing$inboundSchema: z.ZodType<UpdateProjectTracing, z.ZodTypeDef, unknown>;
export declare function updateProjectTracingFromJSON(jsonString: string): SafeParseResult<UpdateProjectTracing, SDKValidationError>;
/** @internal */
export declare const UpdateProjectResponseBody$inboundSchema: z.ZodType<UpdateProjectResponseBody, z.ZodTypeDef, unknown>;
export declare function updateProjectResponseBodyFromJSON(jsonString: string): SafeParseResult<UpdateProjectResponseBody, SDKValidationError>;
//# sourceMappingURL=updateprojectresponsebody.d.ts.map