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 GetAliasRequest = {
    /**
     * Get the alias only if it was created after the provided timestamp
     */
    from?: number | undefined;
    /**
     * The alias or alias ID to be retrieved
     */
    idOrAlias: string;
    /**
     * Get the alias only if it is assigned to the provided project ID
     */
    projectId?: string | undefined;
    /**
     * Get the alias only if it was created after this JavaScript timestamp
     */
    since?: number | undefined;
    /**
     * Get the alias only if it was created before this JavaScript timestamp
     */
    until?: number | 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;
};
/**
 * Information of the user who created the alias
 */
export type GetAliasCreator = {
    /**
     * ID of the user who created the alias
     */
    uid: string;
    /**
     * Email of the user who created the alias
     */
    email: string;
    /**
     * Username of the user who created the alias
     */
    username: string;
};
/**
 * A map with the deployment ID, URL and metadata
 */
export type GetAliasDeployment = {
    /**
     * The deployment unique identifier
     */
    id: string;
    /**
     * The deployment unique URL
     */
    url: string;
    /**
     * The deployment metadata
     */
    meta?: string | undefined;
};
export declare const GetAliasProtectionBypassAliasesResponseScope: {
    readonly EmailInvite: "email_invite";
};
export type GetAliasProtectionBypassAliasesResponseScope = ClosedEnum<typeof GetAliasProtectionBypassAliasesResponseScope>;
/**
 * The protection bypass for the alias
 */
export type ProtectionBypass4 = {
    createdAt: number;
    lastUpdatedAt: number;
    lastUpdatedBy: string;
    scope: GetAliasProtectionBypassAliasesResponseScope;
};
export declare const GetAliasProtectionBypassAliasesScope: {
    readonly AliasProtectionOverride: "alias-protection-override";
};
export type GetAliasProtectionBypassAliasesScope = ClosedEnum<typeof GetAliasProtectionBypassAliasesScope>;
/**
 * The protection bypass for the alias
 */
export type ProtectionBypass3 = {
    createdAt: number;
    createdBy: string;
    scope: GetAliasProtectionBypassAliasesScope;
};
export declare const ProtectionBypassAccess: {
    readonly Requested: "requested";
    readonly Granted: "granted";
};
export type ProtectionBypassAccess = ClosedEnum<typeof ProtectionBypassAccess>;
export declare const GetAliasProtectionBypassScope: {
    readonly User: "user";
};
export type GetAliasProtectionBypassScope = ClosedEnum<typeof GetAliasProtectionBypassScope>;
/**
 * The protection bypass for the alias
 */
export type ProtectionBypass2 = {
    createdAt: number;
    lastUpdatedAt: number;
    lastUpdatedBy: string;
    access: ProtectionBypassAccess;
    scope: GetAliasProtectionBypassScope;
};
export declare const ProtectionBypassScope: {
    readonly ShareableLink: "shareable-link";
};
export type ProtectionBypassScope = ClosedEnum<typeof ProtectionBypassScope>;
/**
 * The protection bypass for the alias
 */
export type ProtectionBypass1 = {
    createdAt: number;
    createdBy: string;
    scope: ProtectionBypassScope;
};
export type GetAliasProtectionBypass = ProtectionBypass1 | ProtectionBypass3 | ProtectionBypass4 | ProtectionBypass2;
/**
 * The alias information
 */
export type GetAliasResponseBody = {
    /**
     * The alias name, it could be a `.vercel.app` subdomain or a custom domain
     */
    alias: string;
    /**
     * The date when the alias was created
     */
    created: Date;
    /**
     * The date when the alias was created in milliseconds since the UNIX epoch
     */
    createdAt?: number | null | undefined;
    /**
     * Information of the user who created the alias
     */
    creator?: GetAliasCreator | undefined;
    /**
     * The date when the alias was deleted in milliseconds since the UNIX epoch
     */
    deletedAt?: number | null | undefined;
    /**
     * A map with the deployment ID, URL and metadata
     */
    deployment?: GetAliasDeployment | undefined;
    /**
     * The deployment ID
     */
    deploymentId: string | null;
    /**
     * The unique identifier of the project
     */
    projectId: string | null;
    /**
     * Target destination domain for redirect when the alias is a redirect
     */
    redirect?: string | null | undefined;
    /**
     * Status code to be used on redirect
     */
    redirectStatusCode?: number | null | undefined;
    /**
     * The unique identifier of the alias
     */
    uid: string;
    /**
     * The date when the alias was updated in milliseconds since the UNIX epoch
     */
    updatedAt?: number | null | undefined;
    /**
     * The protection bypass for the alias
     */
    protectionBypass?: {
        [k: string]: ProtectionBypass1 | ProtectionBypass3 | ProtectionBypass4 | ProtectionBypass2;
    } | undefined;
};
/** @internal */
export declare const GetAliasRequest$inboundSchema: z.ZodType<GetAliasRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type GetAliasRequest$Outbound = {
    from?: number | undefined;
    idOrAlias: string;
    projectId?: string | undefined;
    since?: number | undefined;
    until?: number | undefined;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const GetAliasRequest$outboundSchema: z.ZodType<GetAliasRequest$Outbound, z.ZodTypeDef, GetAliasRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetAliasRequest$ {
    /** @deprecated use `GetAliasRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetAliasRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetAliasRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetAliasRequest$Outbound, z.ZodTypeDef, GetAliasRequest>;
    /** @deprecated use `GetAliasRequest$Outbound` instead. */
    type Outbound = GetAliasRequest$Outbound;
}
export declare function getAliasRequestToJSON(getAliasRequest: GetAliasRequest): string;
export declare function getAliasRequestFromJSON(jsonString: string): SafeParseResult<GetAliasRequest, SDKValidationError>;
/** @internal */
export declare const GetAliasCreator$inboundSchema: z.ZodType<GetAliasCreator, z.ZodTypeDef, unknown>;
/** @internal */
export type GetAliasCreator$Outbound = {
    uid: string;
    email: string;
    username: string;
};
/** @internal */
export declare const GetAliasCreator$outboundSchema: z.ZodType<GetAliasCreator$Outbound, z.ZodTypeDef, GetAliasCreator>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetAliasCreator$ {
    /** @deprecated use `GetAliasCreator$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetAliasCreator, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetAliasCreator$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetAliasCreator$Outbound, z.ZodTypeDef, GetAliasCreator>;
    /** @deprecated use `GetAliasCreator$Outbound` instead. */
    type Outbound = GetAliasCreator$Outbound;
}
export declare function getAliasCreatorToJSON(getAliasCreator: GetAliasCreator): string;
export declare function getAliasCreatorFromJSON(jsonString: string): SafeParseResult<GetAliasCreator, SDKValidationError>;
/** @internal */
export declare const GetAliasDeployment$inboundSchema: z.ZodType<GetAliasDeployment, z.ZodTypeDef, unknown>;
/** @internal */
export type GetAliasDeployment$Outbound = {
    id: string;
    url: string;
    meta?: string | undefined;
};
/** @internal */
export declare const GetAliasDeployment$outboundSchema: z.ZodType<GetAliasDeployment$Outbound, z.ZodTypeDef, GetAliasDeployment>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetAliasDeployment$ {
    /** @deprecated use `GetAliasDeployment$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetAliasDeployment, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetAliasDeployment$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetAliasDeployment$Outbound, z.ZodTypeDef, GetAliasDeployment>;
    /** @deprecated use `GetAliasDeployment$Outbound` instead. */
    type Outbound = GetAliasDeployment$Outbound;
}
export declare function getAliasDeploymentToJSON(getAliasDeployment: GetAliasDeployment): string;
export declare function getAliasDeploymentFromJSON(jsonString: string): SafeParseResult<GetAliasDeployment, SDKValidationError>;
/** @internal */
export declare const GetAliasProtectionBypassAliasesResponseScope$inboundSchema: z.ZodNativeEnum<typeof GetAliasProtectionBypassAliasesResponseScope>;
/** @internal */
export declare const GetAliasProtectionBypassAliasesResponseScope$outboundSchema: z.ZodNativeEnum<typeof GetAliasProtectionBypassAliasesResponseScope>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetAliasProtectionBypassAliasesResponseScope$ {
    /** @deprecated use `GetAliasProtectionBypassAliasesResponseScope$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly EmailInvite: "email_invite";
    }>;
    /** @deprecated use `GetAliasProtectionBypassAliasesResponseScope$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly EmailInvite: "email_invite";
    }>;
}
/** @internal */
export declare const ProtectionBypass4$inboundSchema: z.ZodType<ProtectionBypass4, z.ZodTypeDef, unknown>;
/** @internal */
export type ProtectionBypass4$Outbound = {
    createdAt: number;
    lastUpdatedAt: number;
    lastUpdatedBy: string;
    scope: string;
};
/** @internal */
export declare const ProtectionBypass4$outboundSchema: z.ZodType<ProtectionBypass4$Outbound, z.ZodTypeDef, ProtectionBypass4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ProtectionBypass4$ {
    /** @deprecated use `ProtectionBypass4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ProtectionBypass4, z.ZodTypeDef, unknown>;
    /** @deprecated use `ProtectionBypass4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ProtectionBypass4$Outbound, z.ZodTypeDef, ProtectionBypass4>;
    /** @deprecated use `ProtectionBypass4$Outbound` instead. */
    type Outbound = ProtectionBypass4$Outbound;
}
export declare function protectionBypass4ToJSON(protectionBypass4: ProtectionBypass4): string;
export declare function protectionBypass4FromJSON(jsonString: string): SafeParseResult<ProtectionBypass4, SDKValidationError>;
/** @internal */
export declare const GetAliasProtectionBypassAliasesScope$inboundSchema: z.ZodNativeEnum<typeof GetAliasProtectionBypassAliasesScope>;
/** @internal */
export declare const GetAliasProtectionBypassAliasesScope$outboundSchema: z.ZodNativeEnum<typeof GetAliasProtectionBypassAliasesScope>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetAliasProtectionBypassAliasesScope$ {
    /** @deprecated use `GetAliasProtectionBypassAliasesScope$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly AliasProtectionOverride: "alias-protection-override";
    }>;
    /** @deprecated use `GetAliasProtectionBypassAliasesScope$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly AliasProtectionOverride: "alias-protection-override";
    }>;
}
/** @internal */
export declare const ProtectionBypass3$inboundSchema: z.ZodType<ProtectionBypass3, z.ZodTypeDef, unknown>;
/** @internal */
export type ProtectionBypass3$Outbound = {
    createdAt: number;
    createdBy: string;
    scope: string;
};
/** @internal */
export declare const ProtectionBypass3$outboundSchema: z.ZodType<ProtectionBypass3$Outbound, z.ZodTypeDef, ProtectionBypass3>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ProtectionBypass3$ {
    /** @deprecated use `ProtectionBypass3$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ProtectionBypass3, z.ZodTypeDef, unknown>;
    /** @deprecated use `ProtectionBypass3$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ProtectionBypass3$Outbound, z.ZodTypeDef, ProtectionBypass3>;
    /** @deprecated use `ProtectionBypass3$Outbound` instead. */
    type Outbound = ProtectionBypass3$Outbound;
}
export declare function protectionBypass3ToJSON(protectionBypass3: ProtectionBypass3): string;
export declare function protectionBypass3FromJSON(jsonString: string): SafeParseResult<ProtectionBypass3, SDKValidationError>;
/** @internal */
export declare const ProtectionBypassAccess$inboundSchema: z.ZodNativeEnum<typeof ProtectionBypassAccess>;
/** @internal */
export declare const ProtectionBypassAccess$outboundSchema: z.ZodNativeEnum<typeof ProtectionBypassAccess>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ProtectionBypassAccess$ {
    /** @deprecated use `ProtectionBypassAccess$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Requested: "requested";
        readonly Granted: "granted";
    }>;
    /** @deprecated use `ProtectionBypassAccess$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Requested: "requested";
        readonly Granted: "granted";
    }>;
}
/** @internal */
export declare const GetAliasProtectionBypassScope$inboundSchema: z.ZodNativeEnum<typeof GetAliasProtectionBypassScope>;
/** @internal */
export declare const GetAliasProtectionBypassScope$outboundSchema: z.ZodNativeEnum<typeof GetAliasProtectionBypassScope>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetAliasProtectionBypassScope$ {
    /** @deprecated use `GetAliasProtectionBypassScope$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly User: "user";
    }>;
    /** @deprecated use `GetAliasProtectionBypassScope$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly User: "user";
    }>;
}
/** @internal */
export declare const ProtectionBypass2$inboundSchema: z.ZodType<ProtectionBypass2, z.ZodTypeDef, unknown>;
/** @internal */
export type ProtectionBypass2$Outbound = {
    createdAt: number;
    lastUpdatedAt: number;
    lastUpdatedBy: string;
    access: string;
    scope: string;
};
/** @internal */
export declare const ProtectionBypass2$outboundSchema: z.ZodType<ProtectionBypass2$Outbound, z.ZodTypeDef, ProtectionBypass2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ProtectionBypass2$ {
    /** @deprecated use `ProtectionBypass2$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ProtectionBypass2, z.ZodTypeDef, unknown>;
    /** @deprecated use `ProtectionBypass2$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ProtectionBypass2$Outbound, z.ZodTypeDef, ProtectionBypass2>;
    /** @deprecated use `ProtectionBypass2$Outbound` instead. */
    type Outbound = ProtectionBypass2$Outbound;
}
export declare function protectionBypass2ToJSON(protectionBypass2: ProtectionBypass2): string;
export declare function protectionBypass2FromJSON(jsonString: string): SafeParseResult<ProtectionBypass2, SDKValidationError>;
/** @internal */
export declare const ProtectionBypassScope$inboundSchema: z.ZodNativeEnum<typeof ProtectionBypassScope>;
/** @internal */
export declare const ProtectionBypassScope$outboundSchema: z.ZodNativeEnum<typeof ProtectionBypassScope>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ProtectionBypassScope$ {
    /** @deprecated use `ProtectionBypassScope$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly ShareableLink: "shareable-link";
    }>;
    /** @deprecated use `ProtectionBypassScope$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly ShareableLink: "shareable-link";
    }>;
}
/** @internal */
export declare const ProtectionBypass1$inboundSchema: z.ZodType<ProtectionBypass1, z.ZodTypeDef, unknown>;
/** @internal */
export type ProtectionBypass1$Outbound = {
    createdAt: number;
    createdBy: string;
    scope: string;
};
/** @internal */
export declare const ProtectionBypass1$outboundSchema: z.ZodType<ProtectionBypass1$Outbound, z.ZodTypeDef, ProtectionBypass1>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ProtectionBypass1$ {
    /** @deprecated use `ProtectionBypass1$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ProtectionBypass1, z.ZodTypeDef, unknown>;
    /** @deprecated use `ProtectionBypass1$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ProtectionBypass1$Outbound, z.ZodTypeDef, ProtectionBypass1>;
    /** @deprecated use `ProtectionBypass1$Outbound` instead. */
    type Outbound = ProtectionBypass1$Outbound;
}
export declare function protectionBypass1ToJSON(protectionBypass1: ProtectionBypass1): string;
export declare function protectionBypass1FromJSON(jsonString: string): SafeParseResult<ProtectionBypass1, SDKValidationError>;
/** @internal */
export declare const GetAliasProtectionBypass$inboundSchema: z.ZodType<GetAliasProtectionBypass, z.ZodTypeDef, unknown>;
/** @internal */
export type GetAliasProtectionBypass$Outbound = ProtectionBypass1$Outbound | ProtectionBypass3$Outbound | ProtectionBypass4$Outbound | ProtectionBypass2$Outbound;
/** @internal */
export declare const GetAliasProtectionBypass$outboundSchema: z.ZodType<GetAliasProtectionBypass$Outbound, z.ZodTypeDef, GetAliasProtectionBypass>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetAliasProtectionBypass$ {
    /** @deprecated use `GetAliasProtectionBypass$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetAliasProtectionBypass, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetAliasProtectionBypass$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetAliasProtectionBypass$Outbound, z.ZodTypeDef, GetAliasProtectionBypass>;
    /** @deprecated use `GetAliasProtectionBypass$Outbound` instead. */
    type Outbound = GetAliasProtectionBypass$Outbound;
}
export declare function getAliasProtectionBypassToJSON(getAliasProtectionBypass: GetAliasProtectionBypass): string;
export declare function getAliasProtectionBypassFromJSON(jsonString: string): SafeParseResult<GetAliasProtectionBypass, SDKValidationError>;
/** @internal */
export declare const GetAliasResponseBody$inboundSchema: z.ZodType<GetAliasResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type GetAliasResponseBody$Outbound = {
    alias: string;
    created: string;
    createdAt?: number | null | undefined;
    creator?: GetAliasCreator$Outbound | undefined;
    deletedAt?: number | null | undefined;
    deployment?: GetAliasDeployment$Outbound | undefined;
    deploymentId: string | null;
    projectId: string | null;
    redirect?: string | null | undefined;
    redirectStatusCode?: number | null | undefined;
    uid: string;
    updatedAt?: number | null | undefined;
    protectionBypass?: {
        [k: string]: ProtectionBypass1$Outbound | ProtectionBypass3$Outbound | ProtectionBypass4$Outbound | ProtectionBypass2$Outbound;
    } | undefined;
};
/** @internal */
export declare const GetAliasResponseBody$outboundSchema: z.ZodType<GetAliasResponseBody$Outbound, z.ZodTypeDef, GetAliasResponseBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetAliasResponseBody$ {
    /** @deprecated use `GetAliasResponseBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetAliasResponseBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetAliasResponseBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetAliasResponseBody$Outbound, z.ZodTypeDef, GetAliasResponseBody>;
    /** @deprecated use `GetAliasResponseBody$Outbound` instead. */
    type Outbound = GetAliasResponseBody$Outbound;
}
export declare function getAliasResponseBodyToJSON(getAliasResponseBody: GetAliasResponseBody): string;
export declare function getAliasResponseBodyFromJSON(jsonString: string): SafeParseResult<GetAliasResponseBody, SDKValidationError>;
//# sourceMappingURL=getaliasop.d.ts.map