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 CreateSharedEnvVariableRequestBodyEvs = {
    /**
     * The name of the Shared Environment Variable
     */
    key: string;
    /**
     * The value of the Shared Environment Variable
     */
    value: string;
    /**
     * A comment to add context on what this Shared Environment Variable is for
     */
    comment?: string | undefined;
};
/**
 * The type of environment variable
 */
export declare const CreateSharedEnvVariableRequestBodyEnvironmentRequestType: {
    readonly Encrypted: "encrypted";
    readonly Sensitive: "sensitive";
};
/**
 * The type of environment variable
 */
export type CreateSharedEnvVariableRequestBodyEnvironmentRequestType = ClosedEnum<typeof CreateSharedEnvVariableRequestBodyEnvironmentRequestType>;
export declare const CreateSharedEnvVariableRequestBodyEnvironmentTarget: {
    readonly Production: "production";
    readonly Preview: "preview";
    readonly Development: "development";
};
export type CreateSharedEnvVariableRequestBodyEnvironmentTarget = ClosedEnum<typeof CreateSharedEnvVariableRequestBodyEnvironmentTarget>;
export type CreateSharedEnvVariableRequestBody3 = {
    evs: Array<CreateSharedEnvVariableRequestBodyEvs>;
    /**
     * The type of environment variable
     */
    type?: CreateSharedEnvVariableRequestBodyEnvironmentRequestType | undefined;
    /**
     * The target environment of the Shared Environment Variable
     */
    target?: Array<CreateSharedEnvVariableRequestBodyEnvironmentTarget> | undefined;
    /**
     * Associate a Shared Environment Variable to projects.
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    projectId?: Array<string> | undefined;
};
export type RequestBodyEvs = {
    /**
     * The name of the Shared Environment Variable
     */
    key: string;
    /**
     * The value of the Shared Environment Variable
     */
    value: string;
    /**
     * A comment to add context on what this Shared Environment Variable is for
     */
    comment?: string | undefined;
};
/**
 * The type of environment variable
 */
export declare const CreateSharedEnvVariableRequestBodyEnvironmentType: {
    readonly Encrypted: "encrypted";
    readonly Sensitive: "sensitive";
};
/**
 * The type of environment variable
 */
export type CreateSharedEnvVariableRequestBodyEnvironmentType = ClosedEnum<typeof CreateSharedEnvVariableRequestBodyEnvironmentType>;
export declare const CreateSharedEnvVariableRequestBodyTarget: {
    readonly Production: "production";
    readonly Preview: "preview";
    readonly Development: "development";
};
export type CreateSharedEnvVariableRequestBodyTarget = ClosedEnum<typeof CreateSharedEnvVariableRequestBodyTarget>;
export type CreateSharedEnvVariableRequestBody2 = {
    evs: Array<RequestBodyEvs>;
    /**
     * The type of environment variable
     */
    type?: CreateSharedEnvVariableRequestBodyEnvironmentType | undefined;
    /**
     * The target environment of the Shared Environment Variable
     */
    target?: Array<CreateSharedEnvVariableRequestBodyTarget> | undefined;
    /**
     * Associate a Shared Environment Variable to projects.
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    projectId?: Array<string> | undefined;
};
export type Evs = {
    /**
     * The name of the Shared Environment Variable
     */
    key: string;
    /**
     * The value of the Shared Environment Variable
     */
    value: string;
    /**
     * A comment to add context on what this Shared Environment Variable is for
     */
    comment?: string | undefined;
};
/**
 * The type of environment variable
 */
export declare const CreateSharedEnvVariableRequestBodyType: {
    readonly Encrypted: "encrypted";
    readonly Sensitive: "sensitive";
};
/**
 * The type of environment variable
 */
export type CreateSharedEnvVariableRequestBodyType = ClosedEnum<typeof CreateSharedEnvVariableRequestBodyType>;
export declare const RequestBodyTarget: {
    readonly Production: "production";
    readonly Preview: "preview";
    readonly Development: "development";
};
export type RequestBodyTarget = ClosedEnum<typeof RequestBodyTarget>;
export type CreateSharedEnvVariableRequestBody1 = {
    evs: Array<Evs>;
    /**
     * The type of environment variable
     */
    type?: CreateSharedEnvVariableRequestBodyType | undefined;
    /**
     * The target environment of the Shared Environment Variable
     */
    target: Array<RequestBodyTarget>;
    /**
     * Associate a Shared Environment Variable to projects.
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    projectId?: Array<string> | undefined;
};
export type CreateSharedEnvVariableRequestBody = CreateSharedEnvVariableRequestBody1 | CreateSharedEnvVariableRequestBody2 | CreateSharedEnvVariableRequestBody3;
export type CreateSharedEnvVariableRequest = {
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
    requestBody?: CreateSharedEnvVariableRequestBody1 | CreateSharedEnvVariableRequestBody2 | CreateSharedEnvVariableRequestBody3 | undefined;
};
/**
 * The type of this cosmos doc instance, if blank, assume secret.
 */
export declare const CreateSharedEnvVariableType: {
    readonly Encrypted: "encrypted";
    readonly Plain: "plain";
    readonly Sensitive: "sensitive";
    readonly System: "system";
};
/**
 * The type of this cosmos doc instance, if blank, assume secret.
 */
export type CreateSharedEnvVariableType = ClosedEnum<typeof CreateSharedEnvVariableType>;
/**
 * environments this env variable targets
 */
export declare const CreateSharedEnvVariableTarget: {
    readonly Development: "development";
    readonly Preview: "preview";
    readonly Production: "production";
};
/**
 * environments this env variable targets
 */
export type CreateSharedEnvVariableTarget = ClosedEnum<typeof CreateSharedEnvVariableTarget>;
export type Created = {
    /**
     * The date when the Shared Env Var was created.
     */
    created?: Date | undefined;
    /**
     * The name of the Shared Env Var.
     */
    key?: string | undefined;
    /**
     * The unique identifier of the owner (team) the Shared Env Var was created for.
     */
    ownerId?: string | null | undefined;
    /**
     * The unique identifier of the Shared Env Var.
     */
    id?: string | undefined;
    /**
     * The unique identifier of the user who created the Shared Env Var.
     */
    createdBy?: string | null | undefined;
    /**
     * The unique identifier of the user who deleted the Shared Env Var.
     */
    deletedBy?: string | null | undefined;
    /**
     * The unique identifier of the user who last updated the Shared Env Var.
     */
    updatedBy?: string | null | undefined;
    /**
     * Timestamp for when the Shared Env Var was created.
     */
    createdAt?: number | undefined;
    /**
     * Timestamp for when the Shared Env Var was (soft) deleted.
     */
    deletedAt?: number | undefined;
    /**
     * Timestamp for when the Shared Env Var was last updated.
     */
    updatedAt?: number | undefined;
    /**
     * The value of the Shared Env Var.
     */
    value?: string | undefined;
    /**
     * The unique identifiers of the projects which the Shared Env Var is linked to.
     */
    projectId?: Array<string> | undefined;
    /**
     * The type of this cosmos doc instance, if blank, assume secret.
     */
    type?: CreateSharedEnvVariableType | undefined;
    /**
     * environments this env variable targets
     */
    target?: Array<CreateSharedEnvVariableTarget> | undefined;
    /**
     * whether or not this env varible applies to custom environments
     */
    applyToAllCustomEnvironments?: boolean | undefined;
    /**
     * The custom environment IDs that this Shared Env Var is scoped to.
     */
    customEnvironmentIds?: Array<string> | undefined;
    /**
     * whether or not this env variable is decrypted
     */
    decrypted?: boolean | undefined;
    /**
     * A user provided comment that describes what this Shared Env Var is for.
     */
    comment?: string | undefined;
    /**
     * The last editor full name or username.
     */
    lastEditedByDisplayName?: string | undefined;
};
export declare const Value2: {
    readonly Development: "development";
    readonly Preview: "preview";
    readonly Production: "production";
};
export type Value2 = ClosedEnum<typeof Value2>;
export type CreateSharedEnvVariableValue = string | Array<Value2>;
export declare const CreateSharedEnvVariableTarget2: {
    readonly Development: "development";
    readonly Preview: "preview";
    readonly Production: "production";
};
export type CreateSharedEnvVariableTarget2 = ClosedEnum<typeof CreateSharedEnvVariableTarget2>;
export declare const CreateSharedEnvVariableTarget1: {
    readonly Development: "development";
    readonly Preview: "preview";
    readonly Production: "production";
};
export type CreateSharedEnvVariableTarget1 = ClosedEnum<typeof CreateSharedEnvVariableTarget1>;
export type CreateSharedEnvVariableEnvironmentTarget = Array<CreateSharedEnvVariableTarget1> | CreateSharedEnvVariableTarget2;
export type CreateSharedEnvVariableError = {
    code: string;
    message: string;
    key?: string | undefined;
    envVarId?: string | undefined;
    envVarKey?: string | undefined;
    action?: string | undefined;
    link?: string | undefined;
    value?: string | Array<Value2> | undefined;
    gitBranch?: string | undefined;
    target?: Array<CreateSharedEnvVariableTarget1> | CreateSharedEnvVariableTarget2 | undefined;
    project?: string | undefined;
};
export type Failed = {
    error: CreateSharedEnvVariableError;
};
export type CreateSharedEnvVariableResponseBody = {
    created: Array<Created>;
    failed: Array<Failed>;
};
/** @internal */
export type CreateSharedEnvVariableRequestBodyEvs$Outbound = {
    key: string;
    value: string;
    comment?: string | undefined;
};
/** @internal */
export declare const CreateSharedEnvVariableRequestBodyEvs$outboundSchema: z.ZodType<CreateSharedEnvVariableRequestBodyEvs$Outbound, z.ZodTypeDef, CreateSharedEnvVariableRequestBodyEvs>;
export declare function createSharedEnvVariableRequestBodyEvsToJSON(createSharedEnvVariableRequestBodyEvs: CreateSharedEnvVariableRequestBodyEvs): string;
/** @internal */
export declare const CreateSharedEnvVariableRequestBodyEnvironmentRequestType$outboundSchema: z.ZodNativeEnum<typeof CreateSharedEnvVariableRequestBodyEnvironmentRequestType>;
/** @internal */
export declare const CreateSharedEnvVariableRequestBodyEnvironmentTarget$outboundSchema: z.ZodNativeEnum<typeof CreateSharedEnvVariableRequestBodyEnvironmentTarget>;
/** @internal */
export type CreateSharedEnvVariableRequestBody3$Outbound = {
    evs: Array<CreateSharedEnvVariableRequestBodyEvs$Outbound>;
    type?: string | undefined;
    target?: Array<string> | undefined;
    projectId?: Array<string> | undefined;
};
/** @internal */
export declare const CreateSharedEnvVariableRequestBody3$outboundSchema: z.ZodType<CreateSharedEnvVariableRequestBody3$Outbound, z.ZodTypeDef, CreateSharedEnvVariableRequestBody3>;
export declare function createSharedEnvVariableRequestBody3ToJSON(createSharedEnvVariableRequestBody3: CreateSharedEnvVariableRequestBody3): string;
/** @internal */
export type RequestBodyEvs$Outbound = {
    key: string;
    value: string;
    comment?: string | undefined;
};
/** @internal */
export declare const RequestBodyEvs$outboundSchema: z.ZodType<RequestBodyEvs$Outbound, z.ZodTypeDef, RequestBodyEvs>;
export declare function requestBodyEvsToJSON(requestBodyEvs: RequestBodyEvs): string;
/** @internal */
export declare const CreateSharedEnvVariableRequestBodyEnvironmentType$outboundSchema: z.ZodNativeEnum<typeof CreateSharedEnvVariableRequestBodyEnvironmentType>;
/** @internal */
export declare const CreateSharedEnvVariableRequestBodyTarget$outboundSchema: z.ZodNativeEnum<typeof CreateSharedEnvVariableRequestBodyTarget>;
/** @internal */
export type CreateSharedEnvVariableRequestBody2$Outbound = {
    evs: Array<RequestBodyEvs$Outbound>;
    type?: string | undefined;
    target?: Array<string> | undefined;
    projectId?: Array<string> | undefined;
};
/** @internal */
export declare const CreateSharedEnvVariableRequestBody2$outboundSchema: z.ZodType<CreateSharedEnvVariableRequestBody2$Outbound, z.ZodTypeDef, CreateSharedEnvVariableRequestBody2>;
export declare function createSharedEnvVariableRequestBody2ToJSON(createSharedEnvVariableRequestBody2: CreateSharedEnvVariableRequestBody2): string;
/** @internal */
export type Evs$Outbound = {
    key: string;
    value: string;
    comment?: string | undefined;
};
/** @internal */
export declare const Evs$outboundSchema: z.ZodType<Evs$Outbound, z.ZodTypeDef, Evs>;
export declare function evsToJSON(evs: Evs): string;
/** @internal */
export declare const CreateSharedEnvVariableRequestBodyType$outboundSchema: z.ZodNativeEnum<typeof CreateSharedEnvVariableRequestBodyType>;
/** @internal */
export declare const RequestBodyTarget$outboundSchema: z.ZodNativeEnum<typeof RequestBodyTarget>;
/** @internal */
export type CreateSharedEnvVariableRequestBody1$Outbound = {
    evs: Array<Evs$Outbound>;
    type?: string | undefined;
    target: Array<string>;
    projectId?: Array<string> | undefined;
};
/** @internal */
export declare const CreateSharedEnvVariableRequestBody1$outboundSchema: z.ZodType<CreateSharedEnvVariableRequestBody1$Outbound, z.ZodTypeDef, CreateSharedEnvVariableRequestBody1>;
export declare function createSharedEnvVariableRequestBody1ToJSON(createSharedEnvVariableRequestBody1: CreateSharedEnvVariableRequestBody1): string;
/** @internal */
export type CreateSharedEnvVariableRequestBody$Outbound = CreateSharedEnvVariableRequestBody1$Outbound | CreateSharedEnvVariableRequestBody2$Outbound | CreateSharedEnvVariableRequestBody3$Outbound;
/** @internal */
export declare const CreateSharedEnvVariableRequestBody$outboundSchema: z.ZodType<CreateSharedEnvVariableRequestBody$Outbound, z.ZodTypeDef, CreateSharedEnvVariableRequestBody>;
export declare function createSharedEnvVariableRequestBodyToJSON(createSharedEnvVariableRequestBody: CreateSharedEnvVariableRequestBody): string;
/** @internal */
export type CreateSharedEnvVariableRequest$Outbound = {
    teamId?: string | undefined;
    slug?: string | undefined;
    RequestBody?: CreateSharedEnvVariableRequestBody1$Outbound | CreateSharedEnvVariableRequestBody2$Outbound | CreateSharedEnvVariableRequestBody3$Outbound | undefined;
};
/** @internal */
export declare const CreateSharedEnvVariableRequest$outboundSchema: z.ZodType<CreateSharedEnvVariableRequest$Outbound, z.ZodTypeDef, CreateSharedEnvVariableRequest>;
export declare function createSharedEnvVariableRequestToJSON(createSharedEnvVariableRequest: CreateSharedEnvVariableRequest): string;
/** @internal */
export declare const CreateSharedEnvVariableType$inboundSchema: z.ZodNativeEnum<typeof CreateSharedEnvVariableType>;
/** @internal */
export declare const CreateSharedEnvVariableTarget$inboundSchema: z.ZodNativeEnum<typeof CreateSharedEnvVariableTarget>;
/** @internal */
export declare const Created$inboundSchema: z.ZodType<Created, z.ZodTypeDef, unknown>;
export declare function createdFromJSON(jsonString: string): SafeParseResult<Created, SDKValidationError>;
/** @internal */
export declare const Value2$inboundSchema: z.ZodNativeEnum<typeof Value2>;
/** @internal */
export declare const CreateSharedEnvVariableValue$inboundSchema: z.ZodType<CreateSharedEnvVariableValue, z.ZodTypeDef, unknown>;
export declare function createSharedEnvVariableValueFromJSON(jsonString: string): SafeParseResult<CreateSharedEnvVariableValue, SDKValidationError>;
/** @internal */
export declare const CreateSharedEnvVariableTarget2$inboundSchema: z.ZodNativeEnum<typeof CreateSharedEnvVariableTarget2>;
/** @internal */
export declare const CreateSharedEnvVariableTarget1$inboundSchema: z.ZodNativeEnum<typeof CreateSharedEnvVariableTarget1>;
/** @internal */
export declare const CreateSharedEnvVariableEnvironmentTarget$inboundSchema: z.ZodType<CreateSharedEnvVariableEnvironmentTarget, z.ZodTypeDef, unknown>;
export declare function createSharedEnvVariableEnvironmentTargetFromJSON(jsonString: string): SafeParseResult<CreateSharedEnvVariableEnvironmentTarget, SDKValidationError>;
/** @internal */
export declare const CreateSharedEnvVariableError$inboundSchema: z.ZodType<CreateSharedEnvVariableError, z.ZodTypeDef, unknown>;
export declare function createSharedEnvVariableErrorFromJSON(jsonString: string): SafeParseResult<CreateSharedEnvVariableError, SDKValidationError>;
/** @internal */
export declare const Failed$inboundSchema: z.ZodType<Failed, z.ZodTypeDef, unknown>;
export declare function failedFromJSON(jsonString: string): SafeParseResult<Failed, SDKValidationError>;
/** @internal */
export declare const CreateSharedEnvVariableResponseBody$inboundSchema: z.ZodType<CreateSharedEnvVariableResponseBody, z.ZodTypeDef, unknown>;
export declare function createSharedEnvVariableResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateSharedEnvVariableResponseBody, SDKValidationError>;
//# sourceMappingURL=createsharedenvvariableop.d.ts.map