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 GetProjectsByIdOrNameCustomEnvironmentsRequest = {
    /**
     * The unique project identifier or the project name
     */
    idOrName: string;
    /**
     * Fetch custom environments for a specific git branch
     */
    gitBranch?: string | undefined;
    /**
     * 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;
};
/**
 * The maximum number of custom environments allowed either by the team's plan type or a custom override.
 */
export type AccountLimit = {
    total: number;
};
/**
 * The type of environment (production, preview, or development)
 */
export declare const GetProjectsByIdOrNameCustomEnvironmentsType: {
    readonly Development: "development";
    readonly Preview: "preview";
    readonly Production: "production";
};
/**
 * The type of environment (production, preview, or development)
 */
export type GetProjectsByIdOrNameCustomEnvironmentsType = ClosedEnum<typeof GetProjectsByIdOrNameCustomEnvironmentsType>;
/**
 * A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.
 */
export type GetProjectsByIdOrNameCustomEnvironmentsVerification = {
    type: string;
    domain: string;
    value: string;
    reason: string;
};
/**
 * List of domains associated with this environment
 */
export type GetProjectsByIdOrNameCustomEnvironmentsDomains = {
    name: string;
    apexName: string;
    projectId: string;
    redirect?: string | null | undefined;
    redirectStatusCode?: number | null | undefined;
    gitBranch?: string | null | undefined;
    customEnvironmentId?: string | null | undefined;
    updatedAt?: number | undefined;
    createdAt?: number | undefined;
    /**
     * `true` if the domain is verified for use with the project. If `false` it will not be used as an alias on this project until the challenge in `verification` is completed.
     */
    verified: boolean;
    /**
     * A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.
     */
    verification?: Array<GetProjectsByIdOrNameCustomEnvironmentsVerification> | undefined;
};
/**
 * The type of matching to perform
 */
export declare const GetProjectsByIdOrNameCustomEnvironmentsEnvironmentType: {
    readonly EndsWith: "endsWith";
    readonly Equals: "equals";
    readonly StartsWith: "startsWith";
};
/**
 * The type of matching to perform
 */
export type GetProjectsByIdOrNameCustomEnvironmentsEnvironmentType = ClosedEnum<typeof GetProjectsByIdOrNameCustomEnvironmentsEnvironmentType>;
/**
 * Configuration for matching git branches to this environment
 */
export type GetProjectsByIdOrNameCustomEnvironmentsBranchMatcher = {
    /**
     * The type of matching to perform
     */
    type: GetProjectsByIdOrNameCustomEnvironmentsEnvironmentType;
    /**
     * The pattern to match against branch names
     */
    pattern: string;
};
export type GetProjectsByIdOrNameCustomEnvironmentsEnvironments = {
    /**
     * The type of environment (production, preview, or development)
     */
    type: GetProjectsByIdOrNameCustomEnvironmentsType;
    /**
     * Optional description of the environment's purpose
     */
    description?: string | undefined;
    /**
     * Timestamp when the environment was created
     */
    createdAt: number;
    /**
     * Timestamp when the environment was last updated
     */
    updatedAt: number;
    /**
     * URL-friendly name of the environment
     */
    slug: string;
    /**
     * Unique identifier for the custom environment (format: env_*)
     */
    id: string;
    /**
     * List of domains associated with this environment
     */
    domains?: Array<GetProjectsByIdOrNameCustomEnvironmentsDomains> | undefined;
    /**
     * Configuration for matching git branches to this environment
     */
    branchMatcher?: GetProjectsByIdOrNameCustomEnvironmentsBranchMatcher | undefined;
    /**
     * List of aliases for the current deployment
     */
    currentDeploymentAliases?: Array<string> | undefined;
};
export type GetProjectsByIdOrNameCustomEnvironmentsResponseBody = {
    /**
     * The maximum number of custom environments allowed either by the team's plan type or a custom override.
     */
    accountLimit: AccountLimit;
    environments: Array<GetProjectsByIdOrNameCustomEnvironmentsEnvironments>;
};
/** @internal */
export type GetProjectsByIdOrNameCustomEnvironmentsRequest$Outbound = {
    idOrName: string;
    gitBranch?: string | undefined;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const GetProjectsByIdOrNameCustomEnvironmentsRequest$outboundSchema: z.ZodType<GetProjectsByIdOrNameCustomEnvironmentsRequest$Outbound, z.ZodTypeDef, GetProjectsByIdOrNameCustomEnvironmentsRequest>;
export declare function getProjectsByIdOrNameCustomEnvironmentsRequestToJSON(getProjectsByIdOrNameCustomEnvironmentsRequest: GetProjectsByIdOrNameCustomEnvironmentsRequest): string;
/** @internal */
export declare const AccountLimit$inboundSchema: z.ZodType<AccountLimit, z.ZodTypeDef, unknown>;
export declare function accountLimitFromJSON(jsonString: string): SafeParseResult<AccountLimit, SDKValidationError>;
/** @internal */
export declare const GetProjectsByIdOrNameCustomEnvironmentsType$inboundSchema: z.ZodNativeEnum<typeof GetProjectsByIdOrNameCustomEnvironmentsType>;
/** @internal */
export declare const GetProjectsByIdOrNameCustomEnvironmentsVerification$inboundSchema: z.ZodType<GetProjectsByIdOrNameCustomEnvironmentsVerification, z.ZodTypeDef, unknown>;
export declare function getProjectsByIdOrNameCustomEnvironmentsVerificationFromJSON(jsonString: string): SafeParseResult<GetProjectsByIdOrNameCustomEnvironmentsVerification, SDKValidationError>;
/** @internal */
export declare const GetProjectsByIdOrNameCustomEnvironmentsDomains$inboundSchema: z.ZodType<GetProjectsByIdOrNameCustomEnvironmentsDomains, z.ZodTypeDef, unknown>;
export declare function getProjectsByIdOrNameCustomEnvironmentsDomainsFromJSON(jsonString: string): SafeParseResult<GetProjectsByIdOrNameCustomEnvironmentsDomains, SDKValidationError>;
/** @internal */
export declare const GetProjectsByIdOrNameCustomEnvironmentsEnvironmentType$inboundSchema: z.ZodNativeEnum<typeof GetProjectsByIdOrNameCustomEnvironmentsEnvironmentType>;
/** @internal */
export declare const GetProjectsByIdOrNameCustomEnvironmentsBranchMatcher$inboundSchema: z.ZodType<GetProjectsByIdOrNameCustomEnvironmentsBranchMatcher, z.ZodTypeDef, unknown>;
export declare function getProjectsByIdOrNameCustomEnvironmentsBranchMatcherFromJSON(jsonString: string): SafeParseResult<GetProjectsByIdOrNameCustomEnvironmentsBranchMatcher, SDKValidationError>;
/** @internal */
export declare const GetProjectsByIdOrNameCustomEnvironmentsEnvironments$inboundSchema: z.ZodType<GetProjectsByIdOrNameCustomEnvironmentsEnvironments, z.ZodTypeDef, unknown>;
export declare function getProjectsByIdOrNameCustomEnvironmentsEnvironmentsFromJSON(jsonString: string): SafeParseResult<GetProjectsByIdOrNameCustomEnvironmentsEnvironments, SDKValidationError>;
/** @internal */
export declare const GetProjectsByIdOrNameCustomEnvironmentsResponseBody$inboundSchema: z.ZodType<GetProjectsByIdOrNameCustomEnvironmentsResponseBody, z.ZodTypeDef, unknown>;
export declare function getProjectsByIdOrNameCustomEnvironmentsResponseBodyFromJSON(jsonString: string): SafeParseResult<GetProjectsByIdOrNameCustomEnvironmentsResponseBody, SDKValidationError>;
//# sourceMappingURL=getprojectsbyidornamecustomenvironmentsop.d.ts.map