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 type Connect = {
    enabled?: boolean | undefined;
};
/**
 * Controls whether directory sync events are processed. - 'SETUP': Directory connected but role mappings not yet configured. Events are acknowledged but not processed. - 'ACTIVE': Fully configured. Events are processed normally. - undefined: Legacy directory (pre-feature), treat as 'ACTIVE' for backwards compatibility.
 */
export declare const SyncState: {
    readonly Active: "ACTIVE";
    readonly Setup: "SETUP";
};
/**
 * Controls whether directory sync events are processed. - 'SETUP': Directory connected but role mappings not yet configured. Events are acknowledged but not processed. - 'ACTIVE': Fully configured. Events are processed normally. - undefined: Legacy directory (pre-feature), treat as 'ACTIVE' for backwards compatibility.
 */
export type SyncState = ClosedEnum<typeof SyncState>;
/**
 * Information for the SAML Single Sign-On configuration.
 */
export type Connection = {
    /**
     * The Identity Provider "type", for example Okta.
     */
    type: string;
    /**
     * Current state of the connection.
     */
    state: string;
    /**
     * Timestamp (in milliseconds) of when the configuration was connected.
     */
    connectedAt: number;
    /**
     * Timestamp (in milliseconds) of when the last webhook event was received from WorkOS.
     */
    lastReceivedWebhookEvent?: number | undefined;
    /**
     * Timestamp (in milliseconds) of when the last directory sync was performed.
     */
    lastSyncedAt?: number | undefined;
    /**
     * Controls whether directory sync events are processed. - 'SETUP': Directory connected but role mappings not yet configured. Events are acknowledged but not processed. - 'ACTIVE': Fully configured. Events are processed normally. - undefined: Legacy directory (pre-feature), treat as 'ACTIVE' for backwards compatibility.
     */
    syncState?: SyncState | undefined;
    status: string;
};
/**
 * Controls whether directory sync events are processed. - 'SETUP': Directory connected but role mappings not yet configured. Events are acknowledged but not processed. - 'ACTIVE': Fully configured. Events are processed normally. - undefined: Legacy directory (pre-feature), treat as 'ACTIVE' for backwards compatibility.
 */
export declare const TeamSyncState: {
    readonly Active: "ACTIVE";
    readonly Setup: "SETUP";
};
/**
 * Controls whether directory sync events are processed. - 'SETUP': Directory connected but role mappings not yet configured. Events are acknowledged but not processed. - 'ACTIVE': Fully configured. Events are processed normally. - undefined: Legacy directory (pre-feature), treat as 'ACTIVE' for backwards compatibility.
 */
export type TeamSyncState = ClosedEnum<typeof TeamSyncState>;
/**
 * Information for the Directory Sync configuration.
 */
export type Directory = {
    /**
     * The Identity Provider "type", for example Okta.
     */
    type: string;
    /**
     * Current state of the connection.
     */
    state: string;
    /**
     * Timestamp (in milliseconds) of when the configuration was connected.
     */
    connectedAt: number;
    /**
     * Timestamp (in milliseconds) of when the last webhook event was received from WorkOS.
     */
    lastReceivedWebhookEvent?: number | undefined;
    /**
     * Timestamp (in milliseconds) of when the last directory sync was performed.
     */
    lastSyncedAt?: number | undefined;
    /**
     * Controls whether directory sync events are processed. - 'SETUP': Directory connected but role mappings not yet configured. Events are acknowledged but not processed. - 'ACTIVE': Fully configured. Events are processed normally. - undefined: Legacy directory (pre-feature), treat as 'ACTIVE' for backwards compatibility.
     */
    syncState?: TeamSyncState | undefined;
};
/**
 * The default redirect URI to use after successful SAML authentication.
 */
export declare const DefaultRedirectUri: {
    readonly V0App: "v0.app";
    readonly V0Dev: "v0.dev";
    readonly VercelCom: "vercel.com";
};
/**
 * The default redirect URI to use after successful SAML authentication.
 */
export type DefaultRedirectUri = ClosedEnum<typeof DefaultRedirectUri>;
export declare const Roles2: {
    readonly Billing: "BILLING";
    readonly Contributor: "CONTRIBUTOR";
    readonly Developer: "DEVELOPER";
    readonly Member: "MEMBER";
    readonly Owner: "OWNER";
    readonly Security: "SECURITY";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
};
export type Roles2 = ClosedEnum<typeof Roles2>;
/**
 * When "Directory Sync" is configured, this object contains a mapping of which Directory Group (by ID) should be assigned to which Vercel Team "role".
 */
export type Roles1 = {
    accessGroupId: string;
};
export type Roles = Roles1 | Roles2;
/**
 * When "Single Sign-On (SAML)" is configured, this object contains information regarding the configuration of the Identity Provider (IdP).
 */
export type Saml = {
    /**
     * Information for the SAML Single Sign-On configuration.
     */
    connection?: Connection | undefined;
    /**
     * Information for the Directory Sync configuration.
     */
    directory?: Directory | undefined;
    /**
     * When `true`, interactions with the Team **must** be done with an authentication token that has been authenticated with the Team's SAML Single Sign-On provider.
     */
    enforced: boolean;
    /**
     * The default redirect URI to use after successful SAML authentication.
     */
    defaultRedirectUri?: DefaultRedirectUri | undefined;
    /**
     * When "Directory Sync" is configured, this object contains a mapping of which Directory Group (by ID) should be assigned to which Vercel Team "role".
     */
    roles?: {
        [k: string]: Roles1 | Roles2;
    } | undefined;
};
export declare const Plan: {
    readonly Enterprise: "enterprise";
    readonly Hobby: "hobby";
    readonly Pro: "pro";
};
export type Plan = ClosedEnum<typeof Plan>;
/**
 * The team's billing plan.
 */
export type Billing = {
    plan: Plan;
};
export declare const TeamTeamRoles: {
    readonly Billing: "BILLING";
    readonly Contributor: "CONTRIBUTOR";
    readonly Developer: "DEVELOPER";
    readonly Member: "MEMBER";
    readonly Owner: "OWNER";
    readonly Security: "SECURITY";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
};
export type TeamTeamRoles = ClosedEnum<typeof TeamTeamRoles>;
export declare const TeamTeamPermissions: {
    readonly AiGatewayApiKeyOwnedBySelf: "AiGatewayApiKeyOwnedBySelf";
    readonly AiGatewayBudgetManager: "AiGatewayBudgetManager";
    readonly AiGatewayCredits: "AiGatewayCredits";
    readonly AiGatewaySettings: "AiGatewaySettings";
    readonly AiGatewayTranscriptsManager: "AiGatewayTranscriptsManager";
    readonly AiGatewayTranscriptsViewer: "AiGatewayTranscriptsViewer";
    readonly ConnectorManager: "ConnectorManager";
    readonly CreateProject: "CreateProject";
    readonly EnvVariableManager: "EnvVariableManager";
    readonly EnvironmentManager: "EnvironmentManager";
    readonly FullProductionDeployment: "FullProductionDeployment";
    readonly IntegrationManager: "IntegrationManager";
    readonly OrgAdmin: "OrgAdmin";
    readonly OrgViewer: "OrgViewer";
    readonly UsageViewer: "UsageViewer";
    readonly V0Builder: "V0Builder";
    readonly V0Chatter: "V0Chatter";
    readonly V0Viewer: "V0Viewer";
    readonly WorkflowDecryptor: "WorkflowDecryptor";
};
export type TeamTeamPermissions = ClosedEnum<typeof TeamTeamPermissions>;
/**
 * Default roles for the team.
 */
export type DefaultRoles = {
    teamRoles?: Array<TeamTeamRoles> | undefined;
    teamPermissions?: Array<TeamTeamPermissions> | undefined;
};
export type BuildEntitlements = {
    enhancedBuilds?: boolean | undefined;
};
/**
 * Default build machine type for new builds
 */
export declare const Default: {
    readonly Basic: "basic";
    readonly Elastic: "elastic";
    readonly Enhanced: "enhanced";
    readonly Standard: "standard";
    readonly Turbo: "turbo";
};
/**
 * Default build machine type for new builds
 */
export type Default = ClosedEnum<typeof Default>;
/**
 * Build machine configuration
 */
export type BuildMachine = {
    /**
     * Default build machine type for new builds
     */
    default?: Default | undefined;
};
export type ResourceConfig = {
    /**
     * The total amount of concurrent builds that can be used.
     */
    concurrentBuilds?: number | undefined;
    /**
     * Whether every build for this team / user has elastic concurrency enabled automatically.
     */
    elasticConcurrencyEnabled?: boolean | undefined;
    /**
     * The maximum size in kilobytes of an Edge Config. Only specified if a custom limit is set.
     */
    edgeConfigSize?: number | undefined;
    /**
     * The maximum number of edge configs an account can create.
     */
    edgeConfigs?: number | undefined;
    /**
     * The maximum number of kv databases an account can create.
     */
    kvDatabases?: number | undefined;
    /**
     * The maximum number of blob stores an account can create.
     */
    blobStores?: number | undefined;
    /**
     * The maximum number of postgres databases an account can create.
     */
    postgresDatabases?: number | undefined;
    /**
     * The maximum number of custom environments allowed per project.
     */
    customEnvironmentsPerProject?: number | undefined;
    /**
     * The maximum memory size (in MB) for a serverless function. Only specified if a custom limit is set.
     */
    serverlessFunctionMaxMemorySize?: number | undefined;
    buildEntitlements?: BuildEntitlements | undefined;
    /**
     * Build machine configuration
     */
    buildMachine?: BuildMachine | undefined;
};
export type DisableHardAutoBlocks = number | boolean;
/**
 * Is remote caching enabled for this team
 */
export type RemoteCaching = {
    enabled?: boolean | undefined;
};
export type PasswordProtection = {
    deploymentType: string;
};
export type SsoProtection = {
    deploymentType: string;
};
/**
 * Default deployment protection for this team null indicates protection is disabled
 */
export type DefaultDeploymentProtection = {
    passwordProtection?: PasswordProtection | null | undefined;
    ssoProtection?: SsoProtection | null | undefined;
};
/**
 * Default Passport configuration for new projects in this team.
 */
export declare const DeploymentType: {
    readonly All: "all";
    readonly AllExceptCustomDomains: "all_except_custom_domains";
    readonly Preview: "preview";
    readonly ProdDeploymentUrlsAndAllPreviews: "prod_deployment_urls_and_all_previews";
};
/**
 * Default Passport configuration for new projects in this team.
 */
export type DeploymentType = ClosedEnum<typeof DeploymentType>;
/**
 * Default Passport configuration for new projects in this team.
 */
export type DefaultPassport = {
    /**
     * Default Passport configuration for new projects in this team.
     */
    connectorId: string;
    /**
     * Default Passport configuration for new projects in this team.
     */
    deploymentType: DeploymentType;
};
/**
 * Default deployment expiration settings for this team
 */
export type DefaultExpirationSettings = {
    /**
     * Number of days to keep non-production deployments (mostly preview deployments) before soft deletion.
     */
    expirationDays?: number | undefined;
    /**
     * Number of days to keep production deployments before soft deletion.
     */
    expirationDaysProduction?: number | undefined;
    /**
     * Number of days to keep canceled deployments before soft deletion.
     */
    expirationDaysCanceled?: number | undefined;
    /**
     * Number of days to keep errored deployments before soft deletion.
     */
    expirationDaysErrored?: number | undefined;
    /**
     * Minimum number of production deployments to keep for this project, even if they are over the production expiration limit.
     */
    deploymentsToKeep?: number | undefined;
};
/**
 * Default job configuration applied to new projects created in this team.
 */
export type Lint = {
    /**
     * Default job configuration applied to new projects created in this team.
     */
    targets: Array<string>;
};
/**
 * Default job configuration applied to new projects created in this team.
 */
export type Typecheck = {
    /**
     * Default job configuration applied to new projects created in this team.
     */
    targets: Array<string>;
};
/**
 * Default job configuration applied to new projects created in this team.
 */
export type MfeConfigPresent = {
    /**
     * Default job configuration applied to new projects created in this team.
     */
    targets: Array<string>;
};
/**
 * Default job configuration applied to new projects created in this team.
 */
export type DefaultProjectJobs = {
    /**
     * Default job configuration applied to new projects created in this team.
     */
    lint?: Lint | undefined;
    /**
     * Default job configuration applied to new projects created in this team.
     */
    typecheck?: Typecheck | undefined;
    /**
     * Default job configuration applied to new projects created in this team.
     */
    mfeConfigPresent?: MfeConfigPresent | undefined;
};
/**
 * Whether toolbar is enabled on preview deployments
 */
export declare const EnablePreviewFeedback: {
    readonly Default: "default";
    readonly DefaultForce: "default-force";
    readonly Off: "off";
    readonly OffForce: "off-force";
    readonly On: "on";
    readonly OnForce: "on-force";
};
/**
 * Whether toolbar is enabled on preview deployments
 */
export type EnablePreviewFeedback = ClosedEnum<typeof EnablePreviewFeedback>;
/**
 * Whether toolbar is enabled on production deployments
 */
export declare const EnableProductionFeedback: {
    readonly Default: "default";
    readonly DefaultForce: "default-force";
    readonly Off: "off";
    readonly OffForce: "off-force";
    readonly On: "on";
    readonly OnForce: "on-force";
};
/**
 * Whether toolbar is enabled on production deployments
 */
export type EnableProductionFeedback = ClosedEnum<typeof EnableProductionFeedback>;
/**
 * Sensitive environment variable policy for this team
 */
export declare const SensitiveEnvironmentVariablePolicy: {
    readonly Default: "default";
    readonly Off: "off";
    readonly On: "on";
};
/**
 * Sensitive environment variable policy for this team
 */
export type SensitiveEnvironmentVariablePolicy = ClosedEnum<typeof SensitiveEnvironmentVariablePolicy>;
/**
 * Require production secrets to use a different value than preview or development.
 */
export declare const DisjunctiveProductionSecretPolicy: {
    readonly Default: "default";
    readonly Off: "off";
    readonly On: "on";
};
/**
 * Require production secrets to use a different value than preview or development.
 */
export type DisjunctiveProductionSecretPolicy = ClosedEnum<typeof DisjunctiveProductionSecretPolicy>;
/**
 * Controls who can request access to protected deployments.
 */
export declare const DpAccessRequestsMode: {
    readonly All: "all";
    readonly EmailDomain: "email-domain";
    readonly None: "none";
};
/**
 * Controls who can request access to protected deployments.
 */
export type DpAccessRequestsMode = ClosedEnum<typeof DpAccessRequestsMode>;
export type IpBuckets = {
    bucket: string;
    supportUntil?: number | undefined;
    default?: boolean | undefined;
};
/**
 * When enabled, deployment protection settings require stricter permissions (owner-only).
 */
export type StrictDeploymentProtectionSettings = {
    enabled: boolean;
    updatedAt: number;
};
/**
 * When enabled, creating shareable links requires Owner role.
 */
export type StrictShareableLinks = {
    enabled: boolean;
    updatedAt: number;
};
/**
 * When enabled, adding, changing, or removing project password protection requires Owner role.
 */
export type StrictPasswordProtectionSettings = {
    enabled: boolean;
    updatedAt: number;
};
/**
 * When enabled, creating and managing connectors requires Owner role or the ConnectorManager permission.
 */
export type StrictConnectors = {
    enabled: boolean;
    updatedAt: number;
};
export declare const Preference: {
    readonly AutoApproval: "auto-approval";
    readonly Block: "block";
    readonly ManualApproval: "manual-approval";
};
export type Preference = ClosedEnum<typeof Preference>;
/**
 * NSNB configuration for the team.
 */
export type NsnbConfig = {
    preference: Preference;
};
/**
 * Allowlist entry for GitLab, which uses nested groups rather than a flat org/repo. `namespace` is the full group path (e.g. `group` or `group/subgroup`); `project` is the leaf project name. Omit `project` to match any project under the namespace. Namespace is matched case-insensitively.
 */
export type Sources2 = {
    provider: "gitlab";
    namespace: string;
    project?: string | undefined;
};
export declare const SourcesProvider: {
    readonly Bitbucket: "bitbucket";
    readonly Github: "github";
};
export type SourcesProvider = ClosedEnum<typeof SourcesProvider>;
/**
 * Allowlist entry for GitHub and Bitbucket, whose repos are identified by a flat `org`/`repo` (Bitbucket's workspace/owner maps to `org`, its repo slug to `repo`). Omit `repo` to match any repo in the org. Org is matched case-insensitively.
 */
export type Sources1 = {
    provider: SourcesProvider;
    org: string;
    repo?: string | undefined;
};
export type Sources = (Sources1 & {
    provider: "bitbucket";
}) | (Sources1 & {
    provider: "github";
}) | Sources2;
export type Environments2 = {
    type: "custom";
    environmentId: string;
};
export declare const EnvironmentsTarget: {
    readonly Preview: "preview";
    readonly Production: "production";
};
export type EnvironmentsTarget = ClosedEnum<typeof EnvironmentsTarget>;
export type TeamEnvironments1 = {
    type: "system";
    target: EnvironmentsTarget;
};
export type TeamEnvironments = TeamEnvironments1 | Environments2;
/**
 * `enabled: true` with empty `sources` is deny-all.
 */
export type GitSources = {
    sources: Array<(Sources1 & {
        provider: "bitbucket";
    }) | (Sources1 & {
        provider: "github";
    }) | Sources2>;
    enabled: boolean;
    environments: Array<TeamEnvironments1 | Environments2>;
};
/**
 * Customer-configurable deployment sources. Every deploy classifies to exactly one. JSON schema in `packages/deployment-policy/schemas/body.ts` enumerates exactly these values. - `'git'` — git provider webhook. - `'cli'` — Vercel CLI (legacy classic-token CLI and SIWV CLI both). - `'rest-api'` — direct user/team-token REST upload. Does NOT cover deploy hooks, Marketplace integrations, or first-party app tokens. - `'deploy-hook'` — project deploy-hook URL. The URL is the credential. - `'integration'` — third-party Marketplace actor: Marketplace integration token, user-delegated OAuth from a Marketplace app, or an unrecognized third-party Vercel App. First-party Vercel Apps are never `'integration'`. - `'v0'` — the v0 product surface (entitlement-gated). v0 deploys through the CLI under the hood, but classifies as its own source so a team can allow or deny v0 independently of `'cli'`. First-party Vercel apps (Toolbar, etc.) classify as `'first-party'` — see `ClassifiedSource` in `./checks`. They're not in this union because they aren't customer-configurable; they bypass `checkDeploymentSources` entirely. v0 is intentionally NOT among them: like the CLI, it's a real product surface and is policy-controllable.
 */
export declare const TeamSources: {
    readonly Cli: "cli";
    readonly DeployHook: "deploy-hook";
    readonly Git: "git";
    readonly Integration: "integration";
    readonly RestApi: "rest-api";
    readonly V0: "v0";
};
/**
 * Customer-configurable deployment sources. Every deploy classifies to exactly one. JSON schema in `packages/deployment-policy/schemas/body.ts` enumerates exactly these values. - `'git'` — git provider webhook. - `'cli'` — Vercel CLI (legacy classic-token CLI and SIWV CLI both). - `'rest-api'` — direct user/team-token REST upload. Does NOT cover deploy hooks, Marketplace integrations, or first-party app tokens. - `'deploy-hook'` — project deploy-hook URL. The URL is the credential. - `'integration'` — third-party Marketplace actor: Marketplace integration token, user-delegated OAuth from a Marketplace app, or an unrecognized third-party Vercel App. First-party Vercel Apps are never `'integration'`. - `'v0'` — the v0 product surface (entitlement-gated). v0 deploys through the CLI under the hood, but classifies as its own source so a team can allow or deny v0 independently of `'cli'`. First-party Vercel apps (Toolbar, etc.) classify as `'first-party'` — see `ClassifiedSource` in `./checks`. They're not in this union because they aren't customer-configurable; they bypass `checkDeploymentSources` entirely. v0 is intentionally NOT among them: like the CLI, it's a real product surface and is policy-controllable.
 */
export type TeamSources = ClosedEnum<typeof TeamSources>;
export type TeamEnvironments2 = {
    type: "custom";
    environmentId: string;
};
export declare const TeamEnvironmentsTarget: {
    readonly Preview: "preview";
    readonly Production: "production";
};
export type TeamEnvironmentsTarget = ClosedEnum<typeof TeamEnvironmentsTarget>;
export type TeamEnvironmentsDeploymentPolicy1 = {
    type: "system";
    target: TeamEnvironmentsTarget;
};
export type TeamDeploymentPolicyEnvironments = TeamEnvironmentsDeploymentPolicy1 | TeamEnvironments2;
/**
 * `enabled: true` with empty `sources` is deny-all.
 */
export type DeploymentSources = {
    sources: Array<TeamSources>;
    enabled: boolean;
    environments: Array<TeamEnvironmentsDeploymentPolicy1 | TeamEnvironments2>;
};
/**
 * Composable deployment-time policy for the team. Used as the default for every project on the team, with optional per-project overrides on `project.deploymentPolicy`.
 */
export type DeploymentPolicy = {
    gitSources?: Array<GitSources> | undefined;
    deploymentSources?: Array<DeploymentSources> | undefined;
};
export type Entitlements = {
    entitlement: string;
};
export declare const TeamRole: {
    readonly Billing: "BILLING";
    readonly Contributor: "CONTRIBUTOR";
    readonly Developer: "DEVELOPER";
    readonly Member: "MEMBER";
    readonly Owner: "OWNER";
    readonly Security: "SECURITY";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
};
export type TeamRole = ClosedEnum<typeof TeamRole>;
export declare const TeamMembershipTeamRoles: {
    readonly Billing: "BILLING";
    readonly Contributor: "CONTRIBUTOR";
    readonly Developer: "DEVELOPER";
    readonly Member: "MEMBER";
    readonly Owner: "OWNER";
    readonly Security: "SECURITY";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
};
export type TeamMembershipTeamRoles = ClosedEnum<typeof TeamMembershipTeamRoles>;
export declare const TeamMembershipTeamPermissions: {
    readonly AiGatewayApiKeyOwnedBySelf: "AiGatewayApiKeyOwnedBySelf";
    readonly AiGatewayBudgetManager: "AiGatewayBudgetManager";
    readonly AiGatewayCredits: "AiGatewayCredits";
    readonly AiGatewaySettings: "AiGatewaySettings";
    readonly AiGatewayTranscriptsManager: "AiGatewayTranscriptsManager";
    readonly AiGatewayTranscriptsViewer: "AiGatewayTranscriptsViewer";
    readonly ConnectorManager: "ConnectorManager";
    readonly CreateProject: "CreateProject";
    readonly EnvVariableManager: "EnvVariableManager";
    readonly EnvironmentManager: "EnvironmentManager";
    readonly FullProductionDeployment: "FullProductionDeployment";
    readonly IntegrationManager: "IntegrationManager";
    readonly OrgAdmin: "OrgAdmin";
    readonly OrgViewer: "OrgViewer";
    readonly UsageViewer: "UsageViewer";
    readonly V0Builder: "V0Builder";
    readonly V0Chatter: "V0Chatter";
    readonly V0Viewer: "V0Viewer";
    readonly WorkflowDecryptor: "WorkflowDecryptor";
};
export type TeamMembershipTeamPermissions = ClosedEnum<typeof TeamMembershipTeamPermissions>;
export declare const TeamOrigin: {
    readonly AccountUpdate: "account-update";
    readonly Bitbucket: "bitbucket";
    readonly Dsync: "dsync";
    readonly Feedback: "feedback";
    readonly Github: "github";
    readonly Gitlab: "gitlab";
    readonly Import: "import";
    readonly Link: "link";
    readonly Mail: "mail";
    readonly NsnbAutoApprove: "nsnb-auto-approve";
    readonly NsnbHobbyUpgrade: "nsnb-hobby-upgrade";
    readonly NsnbInvite: "nsnb-invite";
    readonly NsnbRedeploy: "nsnb-redeploy";
    readonly NsnbRedeployAttributionCard: "nsnb-redeploy-attribution-card";
    readonly NsnbRequestAccess: "nsnb-request-access";
    readonly NsnbViewerUpgrade: "nsnb-viewer-upgrade";
    readonly OrganizationTeams: "organization-teams";
    readonly Saml: "saml";
    readonly Teams: "teams";
};
export type TeamOrigin = ClosedEnum<typeof TeamOrigin>;
export type GitUserId = string | number;
export type JoinedFrom = {
    origin: TeamOrigin;
    commitId?: string | undefined;
    repoId?: string | undefined;
    repoPath?: string | undefined;
    gitUserId?: string | number | undefined;
    gitUserLogin?: string | undefined;
    ssoUserId?: string | undefined;
    ssoConnectedAt?: number | undefined;
    idpUserId?: string | undefined;
    dsyncUserId?: string | undefined;
    dsyncConnectedAt?: number | undefined;
};
/**
 * The membership of the authenticated User in relation to the Team.
 */
export type Membership = {
    uid?: string | undefined;
    entitlements?: Array<Entitlements> | undefined;
    teamId?: string | undefined;
    confirmed: true;
    accessRequestedAt?: number | undefined;
    role: TeamRole;
    teamRoles?: Array<TeamMembershipTeamRoles> | undefined;
    teamPermissions?: Array<TeamMembershipTeamPermissions> | undefined;
    createdAt: number;
    created: number;
    joinedFrom?: JoinedFrom | undefined;
};
/**
 * Data representing a Team.
 */
export type Team = {
    connect?: Connect | undefined;
    /**
     * The ID of the user who created the Team.
     */
    creatorId: string;
    /**
     * Timestamp (in milliseconds) of when the Team was last updated.
     */
    updatedAt: number;
    /**
     * Hostname that'll be matched with emails on sign-up to automatically join the Team.
     */
    emailDomain?: string | null | undefined;
    /**
     * When "Single Sign-On (SAML)" is configured, this object contains information regarding the configuration of the Identity Provider (IdP).
     */
    saml?: Saml | undefined;
    /**
     * Code that can be used to join this Team. Only visible to Team owners.
     */
    inviteCode?: string | undefined;
    /**
     * The team's billing plan.
     */
    billing: Billing | null;
    /**
     * A short description of the Team.
     */
    description: string | null;
    /**
     * Default roles for the team.
     */
    defaultRoles?: DefaultRoles | undefined;
    /**
     * The prefix that is prepended to automatic aliases.
     */
    stagingPrefix: string;
    resourceConfig?: ResourceConfig | undefined;
    /**
     * The hostname that is current set as preview deployment suffix.
     */
    previewDeploymentSuffix?: string | null | undefined;
    /**
     * Whether the team is a platform team.
     */
    platform?: boolean | undefined;
    disableHardAutoBlocks?: number | boolean | undefined;
    /**
     * Is remote caching enabled for this team
     */
    remoteCaching?: RemoteCaching | undefined;
    /**
     * Default deployment protection for this team null indicates protection is disabled
     */
    defaultDeploymentProtection?: DefaultDeploymentProtection | undefined;
    /**
     * Default Passport configuration for new projects in this team.
     */
    defaultPassport?: DefaultPassport | null | undefined;
    /**
     * Default deployment expiration settings for this team
     */
    defaultExpirationSettings?: DefaultExpirationSettings | undefined;
    /**
     * Default job configuration applied to new projects created in this team.
     */
    defaultProjectJobs?: DefaultProjectJobs | undefined;
    /**
     * Whether toolbar is enabled on preview deployments
     */
    enablePreviewFeedback?: EnablePreviewFeedback | null | undefined;
    /**
     * Whether toolbar is enabled on production deployments
     */
    enableProductionFeedback?: EnableProductionFeedback | null | undefined;
    /**
     * Sensitive environment variable policy for this team
     */
    sensitiveEnvironmentVariablePolicy?: SensitiveEnvironmentVariablePolicy | null | undefined;
    /**
     * Require production secrets to use a different value than preview or development.
     */
    disjunctiveProductionSecretPolicy?: DisjunctiveProductionSecretPolicy | null | undefined;
    /**
     * Indicates if IP addresses should be accessible in observability (o11y) tooling
     */
    hideIpAddresses?: boolean | null | undefined;
    /**
     * Indicates if IP addresses should be accessible in log drains
     */
    hideIpAddressesInLogDrains?: boolean | null | undefined;
    /**
     * Controls who can request access to protected deployments.
     */
    dpAccessRequestsMode?: DpAccessRequestsMode | undefined;
    ipBuckets?: Array<IpBuckets> | undefined;
    /**
     * When enabled, all projects in the team require commits to be signed and verified by the git provider before deployments will be created. Projects may override this via `project.gitProviderOptions.requireVerifiedCommits` (gated by `Project:Update`).
     */
    requireVerifiedCommits?: boolean | undefined;
    /**
     * Default for projects in the team. When `true`, projects in this team will not emit GitHub repository-dispatch events on deployment events unless the project explicitly overrides this setting via `project.gitProviderOptions.disableRepositoryDispatchEvents`.
     */
    disableRepositoryDispatchEvents?: boolean | undefined;
    /**
     * When enabled, deployment protection settings require stricter permissions (owner-only).
     */
    strictDeploymentProtectionSettings?: StrictDeploymentProtectionSettings | undefined;
    /**
     * When enabled, creating shareable links requires Owner role.
     */
    strictShareableLinks?: StrictShareableLinks | undefined;
    /**
     * When enabled, adding, changing, or removing project password protection requires Owner role.
     */
    strictPasswordProtectionSettings?: StrictPasswordProtectionSettings | undefined;
    /**
     * When enabled, creating and managing connectors requires Owner role or the ConnectorManager permission.
     */
    strictConnectors?: StrictConnectors | undefined;
    /**
     * NSNB configuration for the team.
     */
    nsnbConfig?: NsnbConfig | undefined;
    /**
     * Composable deployment-time policy for the team. Used as the default for every project on the team, with optional per-project overrides on `project.deploymentPolicy`.
     */
    deploymentPolicy?: DeploymentPolicy | undefined;
    /**
     * Timestamp (ms) after which personal access tokens created at or before this time are considered invalid for this team.
     */
    personalAccessTokensInvalidatedAt?: number | undefined;
    /**
     * Timestamp (ms) after which Vercel App tokens created at or before this time are considered invalid for this team.
     */
    appTokensInvalidatedAt?: number | undefined;
    /**
     * Timestamp (ms) after which API keys created at or before this time are considered invalid for this team.
     */
    apiKeysInvalidatedAt?: number | undefined;
    /**
     * Timestamp (ms) after which integration tokens created at or before this time are considered invalid for this team.
     */
    integrationTokensInvalidatedAt?: number | undefined;
    /**
     * The Team's unique identifier.
     */
    id: string;
    /**
     * The Team's slug, which is unique across the Vercel platform.
     */
    slug: string;
    /**
     * Name associated with the Team account, or `null` if none has been provided.
     */
    name: string | null;
    /**
     * The ID of the file used as avatar for this Team.
     */
    avatar: string | null;
    /**
     * The membership of the authenticated User in relation to the Team.
     */
    membership?: Membership | undefined;
    /**
     * UNIX timestamp (in milliseconds) when the Team was created.
     */
    createdAt: number;
    /**
     * The organizationId for teams that belong to an organization (set on both the organization's root team and its child teams).
     */
    parentId?: string | undefined;
    /**
     * Best-effort ID of the organization’s root billing team. When present, compare `orgRootTeamId === id` to identify the root team. It may be omitted even when `parentId` is set if organization resolution fails or the referenced organization is missing. Always omitted for non-organization teams.
     */
    orgRootTeamId?: string | undefined;
    additionalProperties?: {
        [k: string]: any;
    } | undefined;
};
/** @internal */
export declare const Connect$inboundSchema: z.ZodType<Connect, z.ZodTypeDef, unknown>;
export declare function connectFromJSON(jsonString: string): SafeParseResult<Connect, SDKValidationError>;
/** @internal */
export declare const SyncState$inboundSchema: z.ZodNativeEnum<typeof SyncState>;
/** @internal */
export declare const Connection$inboundSchema: z.ZodType<Connection, z.ZodTypeDef, unknown>;
export declare function connectionFromJSON(jsonString: string): SafeParseResult<Connection, SDKValidationError>;
/** @internal */
export declare const TeamSyncState$inboundSchema: z.ZodNativeEnum<typeof TeamSyncState>;
/** @internal */
export declare const Directory$inboundSchema: z.ZodType<Directory, z.ZodTypeDef, unknown>;
export declare function directoryFromJSON(jsonString: string): SafeParseResult<Directory, SDKValidationError>;
/** @internal */
export declare const DefaultRedirectUri$inboundSchema: z.ZodNativeEnum<typeof DefaultRedirectUri>;
/** @internal */
export declare const Roles2$inboundSchema: z.ZodNativeEnum<typeof Roles2>;
/** @internal */
export declare const Roles1$inboundSchema: z.ZodType<Roles1, z.ZodTypeDef, unknown>;
export declare function roles1FromJSON(jsonString: string): SafeParseResult<Roles1, SDKValidationError>;
/** @internal */
export declare const Roles$inboundSchema: z.ZodType<Roles, z.ZodTypeDef, unknown>;
export declare function rolesFromJSON(jsonString: string): SafeParseResult<Roles, SDKValidationError>;
/** @internal */
export declare const Saml$inboundSchema: z.ZodType<Saml, z.ZodTypeDef, unknown>;
export declare function samlFromJSON(jsonString: string): SafeParseResult<Saml, SDKValidationError>;
/** @internal */
export declare const Plan$inboundSchema: z.ZodNativeEnum<typeof Plan>;
/** @internal */
export declare const Billing$inboundSchema: z.ZodType<Billing, z.ZodTypeDef, unknown>;
export declare function billingFromJSON(jsonString: string): SafeParseResult<Billing, SDKValidationError>;
/** @internal */
export declare const TeamTeamRoles$inboundSchema: z.ZodNativeEnum<typeof TeamTeamRoles>;
/** @internal */
export declare const TeamTeamPermissions$inboundSchema: z.ZodNativeEnum<typeof TeamTeamPermissions>;
/** @internal */
export declare const DefaultRoles$inboundSchema: z.ZodType<DefaultRoles, z.ZodTypeDef, unknown>;
export declare function defaultRolesFromJSON(jsonString: string): SafeParseResult<DefaultRoles, SDKValidationError>;
/** @internal */
export declare const BuildEntitlements$inboundSchema: z.ZodType<BuildEntitlements, z.ZodTypeDef, unknown>;
export declare function buildEntitlementsFromJSON(jsonString: string): SafeParseResult<BuildEntitlements, SDKValidationError>;
/** @internal */
export declare const Default$inboundSchema: z.ZodNativeEnum<typeof Default>;
/** @internal */
export declare const BuildMachine$inboundSchema: z.ZodType<BuildMachine, z.ZodTypeDef, unknown>;
export declare function buildMachineFromJSON(jsonString: string): SafeParseResult<BuildMachine, SDKValidationError>;
/** @internal */
export declare const ResourceConfig$inboundSchema: z.ZodType<ResourceConfig, z.ZodTypeDef, unknown>;
export declare function resourceConfigFromJSON(jsonString: string): SafeParseResult<ResourceConfig, SDKValidationError>;
/** @internal */
export declare const DisableHardAutoBlocks$inboundSchema: z.ZodType<DisableHardAutoBlocks, z.ZodTypeDef, unknown>;
export declare function disableHardAutoBlocksFromJSON(jsonString: string): SafeParseResult<DisableHardAutoBlocks, SDKValidationError>;
/** @internal */
export declare const RemoteCaching$inboundSchema: z.ZodType<RemoteCaching, z.ZodTypeDef, unknown>;
export declare function remoteCachingFromJSON(jsonString: string): SafeParseResult<RemoteCaching, SDKValidationError>;
/** @internal */
export declare const PasswordProtection$inboundSchema: z.ZodType<PasswordProtection, z.ZodTypeDef, unknown>;
export declare function passwordProtectionFromJSON(jsonString: string): SafeParseResult<PasswordProtection, SDKValidationError>;
/** @internal */
export declare const SsoProtection$inboundSchema: z.ZodType<SsoProtection, z.ZodTypeDef, unknown>;
export declare function ssoProtectionFromJSON(jsonString: string): SafeParseResult<SsoProtection, SDKValidationError>;
/** @internal */
export declare const DefaultDeploymentProtection$inboundSchema: z.ZodType<DefaultDeploymentProtection, z.ZodTypeDef, unknown>;
export declare function defaultDeploymentProtectionFromJSON(jsonString: string): SafeParseResult<DefaultDeploymentProtection, SDKValidationError>;
/** @internal */
export declare const DeploymentType$inboundSchema: z.ZodNativeEnum<typeof DeploymentType>;
/** @internal */
export declare const DefaultPassport$inboundSchema: z.ZodType<DefaultPassport, z.ZodTypeDef, unknown>;
export declare function defaultPassportFromJSON(jsonString: string): SafeParseResult<DefaultPassport, SDKValidationError>;
/** @internal */
export declare const DefaultExpirationSettings$inboundSchema: z.ZodType<DefaultExpirationSettings, z.ZodTypeDef, unknown>;
export declare function defaultExpirationSettingsFromJSON(jsonString: string): SafeParseResult<DefaultExpirationSettings, SDKValidationError>;
/** @internal */
export declare const Lint$inboundSchema: z.ZodType<Lint, z.ZodTypeDef, unknown>;
export declare function lintFromJSON(jsonString: string): SafeParseResult<Lint, SDKValidationError>;
/** @internal */
export declare const Typecheck$inboundSchema: z.ZodType<Typecheck, z.ZodTypeDef, unknown>;
export declare function typecheckFromJSON(jsonString: string): SafeParseResult<Typecheck, SDKValidationError>;
/** @internal */
export declare const MfeConfigPresent$inboundSchema: z.ZodType<MfeConfigPresent, z.ZodTypeDef, unknown>;
export declare function mfeConfigPresentFromJSON(jsonString: string): SafeParseResult<MfeConfigPresent, SDKValidationError>;
/** @internal */
export declare const DefaultProjectJobs$inboundSchema: z.ZodType<DefaultProjectJobs, z.ZodTypeDef, unknown>;
export declare function defaultProjectJobsFromJSON(jsonString: string): SafeParseResult<DefaultProjectJobs, SDKValidationError>;
/** @internal */
export declare const EnablePreviewFeedback$inboundSchema: z.ZodNativeEnum<typeof EnablePreviewFeedback>;
/** @internal */
export declare const EnableProductionFeedback$inboundSchema: z.ZodNativeEnum<typeof EnableProductionFeedback>;
/** @internal */
export declare const SensitiveEnvironmentVariablePolicy$inboundSchema: z.ZodNativeEnum<typeof SensitiveEnvironmentVariablePolicy>;
/** @internal */
export declare const DisjunctiveProductionSecretPolicy$inboundSchema: z.ZodNativeEnum<typeof DisjunctiveProductionSecretPolicy>;
/** @internal */
export declare const DpAccessRequestsMode$inboundSchema: z.ZodNativeEnum<typeof DpAccessRequestsMode>;
/** @internal */
export declare const IpBuckets$inboundSchema: z.ZodType<IpBuckets, z.ZodTypeDef, unknown>;
export declare function ipBucketsFromJSON(jsonString: string): SafeParseResult<IpBuckets, SDKValidationError>;
/** @internal */
export declare const StrictDeploymentProtectionSettings$inboundSchema: z.ZodType<StrictDeploymentProtectionSettings, z.ZodTypeDef, unknown>;
export declare function strictDeploymentProtectionSettingsFromJSON(jsonString: string): SafeParseResult<StrictDeploymentProtectionSettings, SDKValidationError>;
/** @internal */
export declare const StrictShareableLinks$inboundSchema: z.ZodType<StrictShareableLinks, z.ZodTypeDef, unknown>;
export declare function strictShareableLinksFromJSON(jsonString: string): SafeParseResult<StrictShareableLinks, SDKValidationError>;
/** @internal */
export declare const StrictPasswordProtectionSettings$inboundSchema: z.ZodType<StrictPasswordProtectionSettings, z.ZodTypeDef, unknown>;
export declare function strictPasswordProtectionSettingsFromJSON(jsonString: string): SafeParseResult<StrictPasswordProtectionSettings, SDKValidationError>;
/** @internal */
export declare const StrictConnectors$inboundSchema: z.ZodType<StrictConnectors, z.ZodTypeDef, unknown>;
export declare function strictConnectorsFromJSON(jsonString: string): SafeParseResult<StrictConnectors, SDKValidationError>;
/** @internal */
export declare const Preference$inboundSchema: z.ZodNativeEnum<typeof Preference>;
/** @internal */
export declare const NsnbConfig$inboundSchema: z.ZodType<NsnbConfig, z.ZodTypeDef, unknown>;
export declare function nsnbConfigFromJSON(jsonString: string): SafeParseResult<NsnbConfig, SDKValidationError>;
/** @internal */
export declare const Sources2$inboundSchema: z.ZodType<Sources2, z.ZodTypeDef, unknown>;
export declare function sources2FromJSON(jsonString: string): SafeParseResult<Sources2, SDKValidationError>;
/** @internal */
export declare const SourcesProvider$inboundSchema: z.ZodNativeEnum<typeof SourcesProvider>;
/** @internal */
export declare const Sources1$inboundSchema: z.ZodType<Sources1, z.ZodTypeDef, unknown>;
export declare function sources1FromJSON(jsonString: string): SafeParseResult<Sources1, SDKValidationError>;
/** @internal */
export declare const Sources$inboundSchema: z.ZodType<Sources, z.ZodTypeDef, unknown>;
export declare function sourcesFromJSON(jsonString: string): SafeParseResult<Sources, SDKValidationError>;
/** @internal */
export declare const Environments2$inboundSchema: z.ZodType<Environments2, z.ZodTypeDef, unknown>;
export declare function environments2FromJSON(jsonString: string): SafeParseResult<Environments2, SDKValidationError>;
/** @internal */
export declare const EnvironmentsTarget$inboundSchema: z.ZodNativeEnum<typeof EnvironmentsTarget>;
/** @internal */
export declare const TeamEnvironments1$inboundSchema: z.ZodType<TeamEnvironments1, z.ZodTypeDef, unknown>;
export declare function teamEnvironments1FromJSON(jsonString: string): SafeParseResult<TeamEnvironments1, SDKValidationError>;
/** @internal */
export declare const TeamEnvironments$inboundSchema: z.ZodType<TeamEnvironments, z.ZodTypeDef, unknown>;
export declare function teamEnvironmentsFromJSON(jsonString: string): SafeParseResult<TeamEnvironments, SDKValidationError>;
/** @internal */
export declare const GitSources$inboundSchema: z.ZodType<GitSources, z.ZodTypeDef, unknown>;
export declare function gitSourcesFromJSON(jsonString: string): SafeParseResult<GitSources, SDKValidationError>;
/** @internal */
export declare const TeamSources$inboundSchema: z.ZodNativeEnum<typeof TeamSources>;
/** @internal */
export declare const TeamEnvironments2$inboundSchema: z.ZodType<TeamEnvironments2, z.ZodTypeDef, unknown>;
export declare function teamEnvironments2FromJSON(jsonString: string): SafeParseResult<TeamEnvironments2, SDKValidationError>;
/** @internal */
export declare const TeamEnvironmentsTarget$inboundSchema: z.ZodNativeEnum<typeof TeamEnvironmentsTarget>;
/** @internal */
export declare const TeamEnvironmentsDeploymentPolicy1$inboundSchema: z.ZodType<TeamEnvironmentsDeploymentPolicy1, z.ZodTypeDef, unknown>;
export declare function teamEnvironmentsDeploymentPolicy1FromJSON(jsonString: string): SafeParseResult<TeamEnvironmentsDeploymentPolicy1, SDKValidationError>;
/** @internal */
export declare const TeamDeploymentPolicyEnvironments$inboundSchema: z.ZodType<TeamDeploymentPolicyEnvironments, z.ZodTypeDef, unknown>;
export declare function teamDeploymentPolicyEnvironmentsFromJSON(jsonString: string): SafeParseResult<TeamDeploymentPolicyEnvironments, SDKValidationError>;
/** @internal */
export declare const DeploymentSources$inboundSchema: z.ZodType<DeploymentSources, z.ZodTypeDef, unknown>;
export declare function deploymentSourcesFromJSON(jsonString: string): SafeParseResult<DeploymentSources, SDKValidationError>;
/** @internal */
export declare const DeploymentPolicy$inboundSchema: z.ZodType<DeploymentPolicy, z.ZodTypeDef, unknown>;
export declare function deploymentPolicyFromJSON(jsonString: string): SafeParseResult<DeploymentPolicy, SDKValidationError>;
/** @internal */
export declare const Entitlements$inboundSchema: z.ZodType<Entitlements, z.ZodTypeDef, unknown>;
export declare function entitlementsFromJSON(jsonString: string): SafeParseResult<Entitlements, SDKValidationError>;
/** @internal */
export declare const TeamRole$inboundSchema: z.ZodNativeEnum<typeof TeamRole>;
/** @internal */
export declare const TeamMembershipTeamRoles$inboundSchema: z.ZodNativeEnum<typeof TeamMembershipTeamRoles>;
/** @internal */
export declare const TeamMembershipTeamPermissions$inboundSchema: z.ZodNativeEnum<typeof TeamMembershipTeamPermissions>;
/** @internal */
export declare const TeamOrigin$inboundSchema: z.ZodNativeEnum<typeof TeamOrigin>;
/** @internal */
export declare const GitUserId$inboundSchema: z.ZodType<GitUserId, z.ZodTypeDef, unknown>;
export declare function gitUserIdFromJSON(jsonString: string): SafeParseResult<GitUserId, SDKValidationError>;
/** @internal */
export declare const JoinedFrom$inboundSchema: z.ZodType<JoinedFrom, z.ZodTypeDef, unknown>;
export declare function joinedFromFromJSON(jsonString: string): SafeParseResult<JoinedFrom, SDKValidationError>;
/** @internal */
export declare const Membership$inboundSchema: z.ZodType<Membership, z.ZodTypeDef, unknown>;
export declare function membershipFromJSON(jsonString: string): SafeParseResult<Membership, SDKValidationError>;
/** @internal */
export declare const Team$inboundSchema: z.ZodType<Team, z.ZodTypeDef, unknown>;
export declare function teamFromJSON(jsonString: string): SafeParseResult<Team, SDKValidationError>;
//# sourceMappingURL=team.d.ts.map