import * as z from "zod";
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;
};
/**
 * Information for the SAML Single Sign-On configuration.
 */
export type Connection = {
    /**
     * The Identity Provider "type", for example Okta.
     */
    type: string;
    /**
     * Current status of the connection.
     */
    status: 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;
};
/**
 * 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;
};
/**
 * The default redirect URI to use after successful SAML authentication.
 */
export declare const DefaultRedirectUri: {
    readonly VercelCom: "vercel.com";
    readonly V0Dev: "v0.dev";
    readonly V0App: "v0.app";
};
/**
 * The default redirect URI to use after successful SAML authentication.
 */
export type DefaultRedirectUri = ClosedEnum<typeof DefaultRedirectUri>;
export declare const Roles2: {
    readonly Owner: "OWNER";
    readonly Member: "MEMBER";
    readonly Developer: "DEVELOPER";
    readonly Security: "SECURITY";
    readonly Billing: "BILLING";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
    readonly Contributor: "CONTRIBUTOR";
};
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 type BuildEntitlements = {
    enhancedBuilds?: boolean | 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;
    buildEntitlements?: BuildEntitlements | undefined;
};
/**
 * 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
 */
export type DefaultDeploymentProtection = {
    passwordProtection?: PasswordProtection | undefined;
    ssoProtection?: SsoProtection | undefined;
};
/**
 * Whether toolbar is enabled on preview deployments
 */
export declare const EnablePreviewFeedback: {
    readonly Default: "default";
    readonly On: "on";
    readonly Off: "off";
    readonly OnForce: "on-force";
    readonly OffForce: "off-force";
    readonly DefaultForce: "default-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 On: "on";
    readonly Off: "off";
    readonly OnForce: "on-force";
    readonly OffForce: "off-force";
    readonly DefaultForce: "default-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 On: "on";
    readonly Off: "off";
};
/**
 * Sensitive environment variable policy for this team
 */
export type SensitiveEnvironmentVariablePolicy = ClosedEnum<typeof SensitiveEnvironmentVariablePolicy>;
export type IpBuckets = {
    bucket: string;
    supportUntil?: number | undefined;
};
export type Entitlements = {
    entitlement: string;
};
export declare const Role: {
    readonly Owner: "OWNER";
    readonly Member: "MEMBER";
    readonly Developer: "DEVELOPER";
    readonly Security: "SECURITY";
    readonly Billing: "BILLING";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
    readonly Contributor: "CONTRIBUTOR";
};
export type Role = ClosedEnum<typeof Role>;
export declare const TeamRoles: {
    readonly Owner: "OWNER";
    readonly Member: "MEMBER";
    readonly Developer: "DEVELOPER";
    readonly Security: "SECURITY";
    readonly Billing: "BILLING";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
    readonly Contributor: "CONTRIBUTOR";
};
export type TeamRoles = ClosedEnum<typeof TeamRoles>;
export declare const TeamPermissions: {
    readonly CreateProject: "CreateProject";
    readonly FullProductionDeployment: "FullProductionDeployment";
    readonly UsageViewer: "UsageViewer";
    readonly EnvVariableManager: "EnvVariableManager";
    readonly EnvironmentManager: "EnvironmentManager";
    readonly V0Builder: "V0Builder";
    readonly V0Chatter: "V0Chatter";
    readonly V0Viewer: "V0Viewer";
};
export type TeamPermissions = ClosedEnum<typeof TeamPermissions>;
export declare const Origin: {
    readonly Link: "link";
    readonly Saml: "saml";
    readonly Mail: "mail";
    readonly Import: "import";
    readonly Teams: "teams";
    readonly Github: "github";
    readonly Gitlab: "gitlab";
    readonly Bitbucket: "bitbucket";
    readonly Dsync: "dsync";
    readonly Feedback: "feedback";
    readonly OrganizationTeams: "organization-teams";
};
export type Origin = ClosedEnum<typeof Origin>;
export type GitUserId = string | number;
export type JoinedFrom = {
    origin: Origin;
    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: boolean;
    accessRequestedAt?: number | undefined;
    role: Role;
    teamRoles?: Array<TeamRoles> | undefined;
    teamPermissions?: Array<TeamPermissions> | 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;
    /**
     * A short description of the Team.
     */
    description: string | null;
    /**
     * 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;
    /**
     * Is remote caching enabled for this team
     */
    remoteCaching?: RemoteCaching | undefined;
    /**
     * Default deployment protection for this team
     */
    defaultDeploymentProtection?: DefaultDeploymentProtection | 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;
    /**
     * 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;
    ipBuckets?: Array<IpBuckets> | 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;
    /**
     * UNIX timestamp (in milliseconds) when the Team was created.
     */
    createdAt: number;
    additionalProperties?: {
        [k: string]: any;
    };
};
/** @internal */
export declare const Connect$inboundSchema: z.ZodType<Connect, z.ZodTypeDef, unknown>;
/** @internal */
export type Connect$Outbound = {
    enabled?: boolean | undefined;
};
/** @internal */
export declare const Connect$outboundSchema: z.ZodType<Connect$Outbound, z.ZodTypeDef, Connect>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Connect$ {
    /** @deprecated use `Connect$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Connect, z.ZodTypeDef, unknown>;
    /** @deprecated use `Connect$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Connect$Outbound, z.ZodTypeDef, Connect>;
    /** @deprecated use `Connect$Outbound` instead. */
    type Outbound = Connect$Outbound;
}
export declare function connectToJSON(connect: Connect): string;
export declare function connectFromJSON(jsonString: string): SafeParseResult<Connect, SDKValidationError>;
/** @internal */
export declare const Connection$inboundSchema: z.ZodType<Connection, z.ZodTypeDef, unknown>;
/** @internal */
export type Connection$Outbound = {
    type: string;
    status: string;
    state: string;
    connectedAt: number;
    lastReceivedWebhookEvent?: number | undefined;
};
/** @internal */
export declare const Connection$outboundSchema: z.ZodType<Connection$Outbound, z.ZodTypeDef, Connection>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Connection$ {
    /** @deprecated use `Connection$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Connection, z.ZodTypeDef, unknown>;
    /** @deprecated use `Connection$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Connection$Outbound, z.ZodTypeDef, Connection>;
    /** @deprecated use `Connection$Outbound` instead. */
    type Outbound = Connection$Outbound;
}
export declare function connectionToJSON(connection: Connection): string;
export declare function connectionFromJSON(jsonString: string): SafeParseResult<Connection, SDKValidationError>;
/** @internal */
export declare const Directory$inboundSchema: z.ZodType<Directory, z.ZodTypeDef, unknown>;
/** @internal */
export type Directory$Outbound = {
    type: string;
    state: string;
    connectedAt: number;
    lastReceivedWebhookEvent?: number | undefined;
};
/** @internal */
export declare const Directory$outboundSchema: z.ZodType<Directory$Outbound, z.ZodTypeDef, Directory>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Directory$ {
    /** @deprecated use `Directory$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Directory, z.ZodTypeDef, unknown>;
    /** @deprecated use `Directory$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Directory$Outbound, z.ZodTypeDef, Directory>;
    /** @deprecated use `Directory$Outbound` instead. */
    type Outbound = Directory$Outbound;
}
export declare function directoryToJSON(directory: Directory): string;
export declare function directoryFromJSON(jsonString: string): SafeParseResult<Directory, SDKValidationError>;
/** @internal */
export declare const DefaultRedirectUri$inboundSchema: z.ZodNativeEnum<typeof DefaultRedirectUri>;
/** @internal */
export declare const DefaultRedirectUri$outboundSchema: z.ZodNativeEnum<typeof DefaultRedirectUri>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DefaultRedirectUri$ {
    /** @deprecated use `DefaultRedirectUri$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly VercelCom: "vercel.com";
        readonly V0Dev: "v0.dev";
        readonly V0App: "v0.app";
    }>;
    /** @deprecated use `DefaultRedirectUri$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly VercelCom: "vercel.com";
        readonly V0Dev: "v0.dev";
        readonly V0App: "v0.app";
    }>;
}
/** @internal */
export declare const Roles2$inboundSchema: z.ZodNativeEnum<typeof Roles2>;
/** @internal */
export declare const Roles2$outboundSchema: z.ZodNativeEnum<typeof Roles2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Roles2$ {
    /** @deprecated use `Roles2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Owner: "OWNER";
        readonly Member: "MEMBER";
        readonly Developer: "DEVELOPER";
        readonly Security: "SECURITY";
        readonly Billing: "BILLING";
        readonly Viewer: "VIEWER";
        readonly ViewerForPlus: "VIEWER_FOR_PLUS";
        readonly Contributor: "CONTRIBUTOR";
    }>;
    /** @deprecated use `Roles2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Owner: "OWNER";
        readonly Member: "MEMBER";
        readonly Developer: "DEVELOPER";
        readonly Security: "SECURITY";
        readonly Billing: "BILLING";
        readonly Viewer: "VIEWER";
        readonly ViewerForPlus: "VIEWER_FOR_PLUS";
        readonly Contributor: "CONTRIBUTOR";
    }>;
}
/** @internal */
export declare const Roles1$inboundSchema: z.ZodType<Roles1, z.ZodTypeDef, unknown>;
/** @internal */
export type Roles1$Outbound = {
    accessGroupId: string;
};
/** @internal */
export declare const Roles1$outboundSchema: z.ZodType<Roles1$Outbound, z.ZodTypeDef, Roles1>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Roles1$ {
    /** @deprecated use `Roles1$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Roles1, z.ZodTypeDef, unknown>;
    /** @deprecated use `Roles1$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Roles1$Outbound, z.ZodTypeDef, Roles1>;
    /** @deprecated use `Roles1$Outbound` instead. */
    type Outbound = Roles1$Outbound;
}
export declare function roles1ToJSON(roles1: Roles1): string;
export declare function roles1FromJSON(jsonString: string): SafeParseResult<Roles1, SDKValidationError>;
/** @internal */
export declare const Roles$inboundSchema: z.ZodType<Roles, z.ZodTypeDef, unknown>;
/** @internal */
export type Roles$Outbound = Roles1$Outbound | string;
/** @internal */
export declare const Roles$outboundSchema: z.ZodType<Roles$Outbound, z.ZodTypeDef, Roles>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Roles$ {
    /** @deprecated use `Roles$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Roles, z.ZodTypeDef, unknown>;
    /** @deprecated use `Roles$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Roles$Outbound, z.ZodTypeDef, Roles>;
    /** @deprecated use `Roles$Outbound` instead. */
    type Outbound = Roles$Outbound;
}
export declare function rolesToJSON(roles: Roles): string;
export declare function rolesFromJSON(jsonString: string): SafeParseResult<Roles, SDKValidationError>;
/** @internal */
export declare const Saml$inboundSchema: z.ZodType<Saml, z.ZodTypeDef, unknown>;
/** @internal */
export type Saml$Outbound = {
    connection?: Connection$Outbound | undefined;
    directory?: Directory$Outbound | undefined;
    enforced: boolean;
    defaultRedirectUri?: string | undefined;
    roles?: {
        [k: string]: Roles1$Outbound | string;
    } | undefined;
};
/** @internal */
export declare const Saml$outboundSchema: z.ZodType<Saml$Outbound, z.ZodTypeDef, Saml>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Saml$ {
    /** @deprecated use `Saml$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Saml, z.ZodTypeDef, unknown>;
    /** @deprecated use `Saml$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Saml$Outbound, z.ZodTypeDef, Saml>;
    /** @deprecated use `Saml$Outbound` instead. */
    type Outbound = Saml$Outbound;
}
export declare function samlToJSON(saml: Saml): string;
export declare function samlFromJSON(jsonString: string): SafeParseResult<Saml, SDKValidationError>;
/** @internal */
export declare const BuildEntitlements$inboundSchema: z.ZodType<BuildEntitlements, z.ZodTypeDef, unknown>;
/** @internal */
export type BuildEntitlements$Outbound = {
    enhancedBuilds?: boolean | undefined;
};
/** @internal */
export declare const BuildEntitlements$outboundSchema: z.ZodType<BuildEntitlements$Outbound, z.ZodTypeDef, BuildEntitlements>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BuildEntitlements$ {
    /** @deprecated use `BuildEntitlements$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BuildEntitlements, z.ZodTypeDef, unknown>;
    /** @deprecated use `BuildEntitlements$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BuildEntitlements$Outbound, z.ZodTypeDef, BuildEntitlements>;
    /** @deprecated use `BuildEntitlements$Outbound` instead. */
    type Outbound = BuildEntitlements$Outbound;
}
export declare function buildEntitlementsToJSON(buildEntitlements: BuildEntitlements): string;
export declare function buildEntitlementsFromJSON(jsonString: string): SafeParseResult<BuildEntitlements, SDKValidationError>;
/** @internal */
export declare const ResourceConfig$inboundSchema: z.ZodType<ResourceConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type ResourceConfig$Outbound = {
    concurrentBuilds?: number | undefined;
    elasticConcurrencyEnabled?: boolean | undefined;
    edgeConfigSize?: number | undefined;
    edgeConfigs?: number | undefined;
    kvDatabases?: number | undefined;
    blobStores?: number | undefined;
    postgresDatabases?: number | undefined;
    buildEntitlements?: BuildEntitlements$Outbound | undefined;
};
/** @internal */
export declare const ResourceConfig$outboundSchema: z.ZodType<ResourceConfig$Outbound, z.ZodTypeDef, ResourceConfig>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ResourceConfig$ {
    /** @deprecated use `ResourceConfig$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ResourceConfig, z.ZodTypeDef, unknown>;
    /** @deprecated use `ResourceConfig$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ResourceConfig$Outbound, z.ZodTypeDef, ResourceConfig>;
    /** @deprecated use `ResourceConfig$Outbound` instead. */
    type Outbound = ResourceConfig$Outbound;
}
export declare function resourceConfigToJSON(resourceConfig: ResourceConfig): string;
export declare function resourceConfigFromJSON(jsonString: string): SafeParseResult<ResourceConfig, SDKValidationError>;
/** @internal */
export declare const RemoteCaching$inboundSchema: z.ZodType<RemoteCaching, z.ZodTypeDef, unknown>;
/** @internal */
export type RemoteCaching$Outbound = {
    enabled?: boolean | undefined;
};
/** @internal */
export declare const RemoteCaching$outboundSchema: z.ZodType<RemoteCaching$Outbound, z.ZodTypeDef, RemoteCaching>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace RemoteCaching$ {
    /** @deprecated use `RemoteCaching$inboundSchema` instead. */
    const inboundSchema: z.ZodType<RemoteCaching, z.ZodTypeDef, unknown>;
    /** @deprecated use `RemoteCaching$outboundSchema` instead. */
    const outboundSchema: z.ZodType<RemoteCaching$Outbound, z.ZodTypeDef, RemoteCaching>;
    /** @deprecated use `RemoteCaching$Outbound` instead. */
    type Outbound = RemoteCaching$Outbound;
}
export declare function remoteCachingToJSON(remoteCaching: RemoteCaching): string;
export declare function remoteCachingFromJSON(jsonString: string): SafeParseResult<RemoteCaching, SDKValidationError>;
/** @internal */
export declare const PasswordProtection$inboundSchema: z.ZodType<PasswordProtection, z.ZodTypeDef, unknown>;
/** @internal */
export type PasswordProtection$Outbound = {
    deploymentType: string;
};
/** @internal */
export declare const PasswordProtection$outboundSchema: z.ZodType<PasswordProtection$Outbound, z.ZodTypeDef, PasswordProtection>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PasswordProtection$ {
    /** @deprecated use `PasswordProtection$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PasswordProtection, z.ZodTypeDef, unknown>;
    /** @deprecated use `PasswordProtection$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PasswordProtection$Outbound, z.ZodTypeDef, PasswordProtection>;
    /** @deprecated use `PasswordProtection$Outbound` instead. */
    type Outbound = PasswordProtection$Outbound;
}
export declare function passwordProtectionToJSON(passwordProtection: PasswordProtection): string;
export declare function passwordProtectionFromJSON(jsonString: string): SafeParseResult<PasswordProtection, SDKValidationError>;
/** @internal */
export declare const SsoProtection$inboundSchema: z.ZodType<SsoProtection, z.ZodTypeDef, unknown>;
/** @internal */
export type SsoProtection$Outbound = {
    deploymentType: string;
};
/** @internal */
export declare const SsoProtection$outboundSchema: z.ZodType<SsoProtection$Outbound, z.ZodTypeDef, SsoProtection>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SsoProtection$ {
    /** @deprecated use `SsoProtection$inboundSchema` instead. */
    const inboundSchema: z.ZodType<SsoProtection, z.ZodTypeDef, unknown>;
    /** @deprecated use `SsoProtection$outboundSchema` instead. */
    const outboundSchema: z.ZodType<SsoProtection$Outbound, z.ZodTypeDef, SsoProtection>;
    /** @deprecated use `SsoProtection$Outbound` instead. */
    type Outbound = SsoProtection$Outbound;
}
export declare function ssoProtectionToJSON(ssoProtection: SsoProtection): string;
export declare function ssoProtectionFromJSON(jsonString: string): SafeParseResult<SsoProtection, SDKValidationError>;
/** @internal */
export declare const DefaultDeploymentProtection$inboundSchema: z.ZodType<DefaultDeploymentProtection, z.ZodTypeDef, unknown>;
/** @internal */
export type DefaultDeploymentProtection$Outbound = {
    passwordProtection?: PasswordProtection$Outbound | undefined;
    ssoProtection?: SsoProtection$Outbound | undefined;
};
/** @internal */
export declare const DefaultDeploymentProtection$outboundSchema: z.ZodType<DefaultDeploymentProtection$Outbound, z.ZodTypeDef, DefaultDeploymentProtection>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DefaultDeploymentProtection$ {
    /** @deprecated use `DefaultDeploymentProtection$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DefaultDeploymentProtection, z.ZodTypeDef, unknown>;
    /** @deprecated use `DefaultDeploymentProtection$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DefaultDeploymentProtection$Outbound, z.ZodTypeDef, DefaultDeploymentProtection>;
    /** @deprecated use `DefaultDeploymentProtection$Outbound` instead. */
    type Outbound = DefaultDeploymentProtection$Outbound;
}
export declare function defaultDeploymentProtectionToJSON(defaultDeploymentProtection: DefaultDeploymentProtection): string;
export declare function defaultDeploymentProtectionFromJSON(jsonString: string): SafeParseResult<DefaultDeploymentProtection, SDKValidationError>;
/** @internal */
export declare const EnablePreviewFeedback$inboundSchema: z.ZodNativeEnum<typeof EnablePreviewFeedback>;
/** @internal */
export declare const EnablePreviewFeedback$outboundSchema: z.ZodNativeEnum<typeof EnablePreviewFeedback>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EnablePreviewFeedback$ {
    /** @deprecated use `EnablePreviewFeedback$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Default: "default";
        readonly On: "on";
        readonly Off: "off";
        readonly OnForce: "on-force";
        readonly OffForce: "off-force";
        readonly DefaultForce: "default-force";
    }>;
    /** @deprecated use `EnablePreviewFeedback$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Default: "default";
        readonly On: "on";
        readonly Off: "off";
        readonly OnForce: "on-force";
        readonly OffForce: "off-force";
        readonly DefaultForce: "default-force";
    }>;
}
/** @internal */
export declare const EnableProductionFeedback$inboundSchema: z.ZodNativeEnum<typeof EnableProductionFeedback>;
/** @internal */
export declare const EnableProductionFeedback$outboundSchema: z.ZodNativeEnum<typeof EnableProductionFeedback>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EnableProductionFeedback$ {
    /** @deprecated use `EnableProductionFeedback$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Default: "default";
        readonly On: "on";
        readonly Off: "off";
        readonly OnForce: "on-force";
        readonly OffForce: "off-force";
        readonly DefaultForce: "default-force";
    }>;
    /** @deprecated use `EnableProductionFeedback$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Default: "default";
        readonly On: "on";
        readonly Off: "off";
        readonly OnForce: "on-force";
        readonly OffForce: "off-force";
        readonly DefaultForce: "default-force";
    }>;
}
/** @internal */
export declare const SensitiveEnvironmentVariablePolicy$inboundSchema: z.ZodNativeEnum<typeof SensitiveEnvironmentVariablePolicy>;
/** @internal */
export declare const SensitiveEnvironmentVariablePolicy$outboundSchema: z.ZodNativeEnum<typeof SensitiveEnvironmentVariablePolicy>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SensitiveEnvironmentVariablePolicy$ {
    /** @deprecated use `SensitiveEnvironmentVariablePolicy$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Default: "default";
        readonly On: "on";
        readonly Off: "off";
    }>;
    /** @deprecated use `SensitiveEnvironmentVariablePolicy$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Default: "default";
        readonly On: "on";
        readonly Off: "off";
    }>;
}
/** @internal */
export declare const IpBuckets$inboundSchema: z.ZodType<IpBuckets, z.ZodTypeDef, unknown>;
/** @internal */
export type IpBuckets$Outbound = {
    bucket: string;
    supportUntil?: number | undefined;
};
/** @internal */
export declare const IpBuckets$outboundSchema: z.ZodType<IpBuckets$Outbound, z.ZodTypeDef, IpBuckets>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace IpBuckets$ {
    /** @deprecated use `IpBuckets$inboundSchema` instead. */
    const inboundSchema: z.ZodType<IpBuckets, z.ZodTypeDef, unknown>;
    /** @deprecated use `IpBuckets$outboundSchema` instead. */
    const outboundSchema: z.ZodType<IpBuckets$Outbound, z.ZodTypeDef, IpBuckets>;
    /** @deprecated use `IpBuckets$Outbound` instead. */
    type Outbound = IpBuckets$Outbound;
}
export declare function ipBucketsToJSON(ipBuckets: IpBuckets): string;
export declare function ipBucketsFromJSON(jsonString: string): SafeParseResult<IpBuckets, SDKValidationError>;
/** @internal */
export declare const Entitlements$inboundSchema: z.ZodType<Entitlements, z.ZodTypeDef, unknown>;
/** @internal */
export type Entitlements$Outbound = {
    entitlement: string;
};
/** @internal */
export declare const Entitlements$outboundSchema: z.ZodType<Entitlements$Outbound, z.ZodTypeDef, Entitlements>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Entitlements$ {
    /** @deprecated use `Entitlements$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Entitlements, z.ZodTypeDef, unknown>;
    /** @deprecated use `Entitlements$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Entitlements$Outbound, z.ZodTypeDef, Entitlements>;
    /** @deprecated use `Entitlements$Outbound` instead. */
    type Outbound = Entitlements$Outbound;
}
export declare function entitlementsToJSON(entitlements: Entitlements): string;
export declare function entitlementsFromJSON(jsonString: string): SafeParseResult<Entitlements, SDKValidationError>;
/** @internal */
export declare const Role$inboundSchema: z.ZodNativeEnum<typeof Role>;
/** @internal */
export declare const Role$outboundSchema: z.ZodNativeEnum<typeof Role>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Role$ {
    /** @deprecated use `Role$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Owner: "OWNER";
        readonly Member: "MEMBER";
        readonly Developer: "DEVELOPER";
        readonly Security: "SECURITY";
        readonly Billing: "BILLING";
        readonly Viewer: "VIEWER";
        readonly ViewerForPlus: "VIEWER_FOR_PLUS";
        readonly Contributor: "CONTRIBUTOR";
    }>;
    /** @deprecated use `Role$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Owner: "OWNER";
        readonly Member: "MEMBER";
        readonly Developer: "DEVELOPER";
        readonly Security: "SECURITY";
        readonly Billing: "BILLING";
        readonly Viewer: "VIEWER";
        readonly ViewerForPlus: "VIEWER_FOR_PLUS";
        readonly Contributor: "CONTRIBUTOR";
    }>;
}
/** @internal */
export declare const TeamRoles$inboundSchema: z.ZodNativeEnum<typeof TeamRoles>;
/** @internal */
export declare const TeamRoles$outboundSchema: z.ZodNativeEnum<typeof TeamRoles>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TeamRoles$ {
    /** @deprecated use `TeamRoles$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Owner: "OWNER";
        readonly Member: "MEMBER";
        readonly Developer: "DEVELOPER";
        readonly Security: "SECURITY";
        readonly Billing: "BILLING";
        readonly Viewer: "VIEWER";
        readonly ViewerForPlus: "VIEWER_FOR_PLUS";
        readonly Contributor: "CONTRIBUTOR";
    }>;
    /** @deprecated use `TeamRoles$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Owner: "OWNER";
        readonly Member: "MEMBER";
        readonly Developer: "DEVELOPER";
        readonly Security: "SECURITY";
        readonly Billing: "BILLING";
        readonly Viewer: "VIEWER";
        readonly ViewerForPlus: "VIEWER_FOR_PLUS";
        readonly Contributor: "CONTRIBUTOR";
    }>;
}
/** @internal */
export declare const TeamPermissions$inboundSchema: z.ZodNativeEnum<typeof TeamPermissions>;
/** @internal */
export declare const TeamPermissions$outboundSchema: z.ZodNativeEnum<typeof TeamPermissions>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TeamPermissions$ {
    /** @deprecated use `TeamPermissions$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly CreateProject: "CreateProject";
        readonly FullProductionDeployment: "FullProductionDeployment";
        readonly UsageViewer: "UsageViewer";
        readonly EnvVariableManager: "EnvVariableManager";
        readonly EnvironmentManager: "EnvironmentManager";
        readonly V0Builder: "V0Builder";
        readonly V0Chatter: "V0Chatter";
        readonly V0Viewer: "V0Viewer";
    }>;
    /** @deprecated use `TeamPermissions$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly CreateProject: "CreateProject";
        readonly FullProductionDeployment: "FullProductionDeployment";
        readonly UsageViewer: "UsageViewer";
        readonly EnvVariableManager: "EnvVariableManager";
        readonly EnvironmentManager: "EnvironmentManager";
        readonly V0Builder: "V0Builder";
        readonly V0Chatter: "V0Chatter";
        readonly V0Viewer: "V0Viewer";
    }>;
}
/** @internal */
export declare const Origin$inboundSchema: z.ZodNativeEnum<typeof Origin>;
/** @internal */
export declare const Origin$outboundSchema: z.ZodNativeEnum<typeof Origin>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Origin$ {
    /** @deprecated use `Origin$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Link: "link";
        readonly Saml: "saml";
        readonly Mail: "mail";
        readonly Import: "import";
        readonly Teams: "teams";
        readonly Github: "github";
        readonly Gitlab: "gitlab";
        readonly Bitbucket: "bitbucket";
        readonly Dsync: "dsync";
        readonly Feedback: "feedback";
        readonly OrganizationTeams: "organization-teams";
    }>;
    /** @deprecated use `Origin$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Link: "link";
        readonly Saml: "saml";
        readonly Mail: "mail";
        readonly Import: "import";
        readonly Teams: "teams";
        readonly Github: "github";
        readonly Gitlab: "gitlab";
        readonly Bitbucket: "bitbucket";
        readonly Dsync: "dsync";
        readonly Feedback: "feedback";
        readonly OrganizationTeams: "organization-teams";
    }>;
}
/** @internal */
export declare const GitUserId$inboundSchema: z.ZodType<GitUserId, z.ZodTypeDef, unknown>;
/** @internal */
export type GitUserId$Outbound = string | number;
/** @internal */
export declare const GitUserId$outboundSchema: z.ZodType<GitUserId$Outbound, z.ZodTypeDef, GitUserId>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GitUserId$ {
    /** @deprecated use `GitUserId$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GitUserId, z.ZodTypeDef, unknown>;
    /** @deprecated use `GitUserId$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GitUserId$Outbound, z.ZodTypeDef, GitUserId>;
    /** @deprecated use `GitUserId$Outbound` instead. */
    type Outbound = GitUserId$Outbound;
}
export declare function gitUserIdToJSON(gitUserId: GitUserId): string;
export declare function gitUserIdFromJSON(jsonString: string): SafeParseResult<GitUserId, SDKValidationError>;
/** @internal */
export declare const JoinedFrom$inboundSchema: z.ZodType<JoinedFrom, z.ZodTypeDef, unknown>;
/** @internal */
export type JoinedFrom$Outbound = {
    origin: string;
    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;
};
/** @internal */
export declare const JoinedFrom$outboundSchema: z.ZodType<JoinedFrom$Outbound, z.ZodTypeDef, JoinedFrom>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JoinedFrom$ {
    /** @deprecated use `JoinedFrom$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JoinedFrom, z.ZodTypeDef, unknown>;
    /** @deprecated use `JoinedFrom$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JoinedFrom$Outbound, z.ZodTypeDef, JoinedFrom>;
    /** @deprecated use `JoinedFrom$Outbound` instead. */
    type Outbound = JoinedFrom$Outbound;
}
export declare function joinedFromToJSON(joinedFrom: JoinedFrom): string;
export declare function joinedFromFromJSON(jsonString: string): SafeParseResult<JoinedFrom, SDKValidationError>;
/** @internal */
export declare const Membership$inboundSchema: z.ZodType<Membership, z.ZodTypeDef, unknown>;
/** @internal */
export type Membership$Outbound = {
    uid?: string | undefined;
    entitlements?: Array<Entitlements$Outbound> | undefined;
    teamId?: string | undefined;
    confirmed: boolean;
    accessRequestedAt?: number | undefined;
    role: string;
    teamRoles?: Array<string> | undefined;
    teamPermissions?: Array<string> | undefined;
    createdAt: number;
    created: number;
    joinedFrom?: JoinedFrom$Outbound | undefined;
};
/** @internal */
export declare const Membership$outboundSchema: z.ZodType<Membership$Outbound, z.ZodTypeDef, Membership>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Membership$ {
    /** @deprecated use `Membership$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Membership, z.ZodTypeDef, unknown>;
    /** @deprecated use `Membership$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Membership$Outbound, z.ZodTypeDef, Membership>;
    /** @deprecated use `Membership$Outbound` instead. */
    type Outbound = Membership$Outbound;
}
export declare function membershipToJSON(membership: Membership): string;
export declare function membershipFromJSON(jsonString: string): SafeParseResult<Membership, SDKValidationError>;
/** @internal */
export declare const Team$inboundSchema: z.ZodType<Team, z.ZodTypeDef, unknown>;
/** @internal */
export type Team$Outbound = {
    connect?: Connect$Outbound | undefined;
    creatorId: string;
    updatedAt: number;
    emailDomain?: string | null | undefined;
    saml?: Saml$Outbound | undefined;
    inviteCode?: string | undefined;
    description: string | null;
    stagingPrefix: string;
    resourceConfig?: ResourceConfig$Outbound | undefined;
    previewDeploymentSuffix?: string | null | undefined;
    remoteCaching?: RemoteCaching$Outbound | undefined;
    defaultDeploymentProtection?: DefaultDeploymentProtection$Outbound | undefined;
    enablePreviewFeedback?: string | null | undefined;
    enableProductionFeedback?: string | null | undefined;
    sensitiveEnvironmentVariablePolicy?: string | null | undefined;
    hideIpAddresses?: boolean | null | undefined;
    hideIpAddressesInLogDrains?: boolean | null | undefined;
    ipBuckets?: Array<IpBuckets$Outbound> | undefined;
    id: string;
    slug: string;
    name: string | null;
    avatar: string | null;
    membership: Membership$Outbound;
    createdAt: number;
    [additionalProperties: string]: unknown;
};
/** @internal */
export declare const Team$outboundSchema: z.ZodType<Team$Outbound, z.ZodTypeDef, Team>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Team$ {
    /** @deprecated use `Team$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Team, z.ZodTypeDef, unknown>;
    /** @deprecated use `Team$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Team$Outbound, z.ZodTypeDef, Team>;
    /** @deprecated use `Team$Outbound` instead. */
    type Outbound = Team$Outbound;
}
export declare function teamToJSON(team: Team): string;
export declare function teamFromJSON(jsonString: string): SafeParseResult<Team, SDKValidationError>;
//# sourceMappingURL=team.d.ts.map