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 declare const RequestBodyScope: {
    readonly AliasProtectionOverride: "alias-protection-override";
};
export type RequestBodyScope = ClosedEnum<typeof RequestBodyScope>;
export declare const PatchAliasesIdProtectionBypassRequestBodyAction: {
    readonly Create: "create";
    readonly Revoke: "revoke";
};
export type PatchAliasesIdProtectionBypassRequestBodyAction = ClosedEnum<typeof PatchAliasesIdProtectionBypassRequestBodyAction>;
export type Override = {
    scope: RequestBodyScope;
    action: PatchAliasesIdProtectionBypassRequestBodyAction;
};
export type RequestBody3 = {
    override: Override;
};
/**
 * Invitation status for the user scoped bypass.
 */
export declare const ScopeAccess: {
    readonly Denied: "denied";
    readonly Granted: "granted";
};
/**
 * Invitation status for the user scoped bypass.
 */
export type ScopeAccess = ClosedEnum<typeof ScopeAccess>;
export type Scope2 = {
    /**
     * Specified user id for the scoped bypass.
     */
    userId?: string | undefined;
    /**
     * Specified email for the scoped bypass.
     */
    email: string;
    /**
     * Invitation status for the user scoped bypass.
     */
    access: ScopeAccess;
};
/**
 * Invitation status for the user scoped bypass.
 */
export declare const Access: {
    readonly Denied: "denied";
    readonly Granted: "granted";
};
/**
 * Invitation status for the user scoped bypass.
 */
export type Access = ClosedEnum<typeof Access>;
export type Scope1 = {
    /**
     * Specified user id for the scoped bypass.
     */
    userId: string;
    /**
     * Specified email for the scoped bypass.
     */
    email?: string | undefined;
    /**
     * Invitation status for the user scoped bypass.
     */
    access: Access;
};
/**
 * Instructions for creating a user scoped protection bypass
 */
export type Scope = Scope1 | Scope2;
export type RequestBody2 = {
    /**
     * Instructions for creating a user scoped protection bypass
     */
    scope: Scope1 | Scope2;
};
/**
 * Optional instructions for revoking and regenerating a shareable link
 */
export type RequestBodyRevoke = {
    /**
     * Sharebale link to revoked
     */
    secret: string;
    /**
     * Whether or not a new shareable link should be created after the provided secret is revoked
     */
    regenerate: boolean;
};
export type RequestBody1 = {
    /**
     * Optional instructions for revoking and regenerating a shareable link
     */
    revoke?: RequestBodyRevoke | undefined;
};
export type PatchAliasesIdProtectionBypassRequestBody = RequestBody1 | RequestBody2 | RequestBody3;
export type PatchAliasesIdProtectionBypassRequest = {
    /**
     * The alias or deployment ID
     */
    id: string;
    requestBody?: RequestBody1 | RequestBody2 | RequestBody3 | undefined;
};
/** @internal */
export declare const RequestBodyScope$inboundSchema: z.ZodNativeEnum<typeof RequestBodyScope>;
/** @internal */
export declare const RequestBodyScope$outboundSchema: z.ZodNativeEnum<typeof RequestBodyScope>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace RequestBodyScope$ {
    /** @deprecated use `RequestBodyScope$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly AliasProtectionOverride: "alias-protection-override";
    }>;
    /** @deprecated use `RequestBodyScope$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly AliasProtectionOverride: "alias-protection-override";
    }>;
}
/** @internal */
export declare const PatchAliasesIdProtectionBypassRequestBodyAction$inboundSchema: z.ZodNativeEnum<typeof PatchAliasesIdProtectionBypassRequestBodyAction>;
/** @internal */
export declare const PatchAliasesIdProtectionBypassRequestBodyAction$outboundSchema: z.ZodNativeEnum<typeof PatchAliasesIdProtectionBypassRequestBodyAction>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchAliasesIdProtectionBypassRequestBodyAction$ {
    /** @deprecated use `PatchAliasesIdProtectionBypassRequestBodyAction$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Create: "create";
        readonly Revoke: "revoke";
    }>;
    /** @deprecated use `PatchAliasesIdProtectionBypassRequestBodyAction$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Create: "create";
        readonly Revoke: "revoke";
    }>;
}
/** @internal */
export declare const Override$inboundSchema: z.ZodType<Override, z.ZodTypeDef, unknown>;
/** @internal */
export type Override$Outbound = {
    scope: string;
    action: string;
};
/** @internal */
export declare const Override$outboundSchema: z.ZodType<Override$Outbound, z.ZodTypeDef, Override>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Override$ {
    /** @deprecated use `Override$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Override, z.ZodTypeDef, unknown>;
    /** @deprecated use `Override$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Override$Outbound, z.ZodTypeDef, Override>;
    /** @deprecated use `Override$Outbound` instead. */
    type Outbound = Override$Outbound;
}
export declare function overrideToJSON(override: Override): string;
export declare function overrideFromJSON(jsonString: string): SafeParseResult<Override, SDKValidationError>;
/** @internal */
export declare const RequestBody3$inboundSchema: z.ZodType<RequestBody3, z.ZodTypeDef, unknown>;
/** @internal */
export type RequestBody3$Outbound = {
    override: Override$Outbound;
};
/** @internal */
export declare const RequestBody3$outboundSchema: z.ZodType<RequestBody3$Outbound, z.ZodTypeDef, RequestBody3>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace RequestBody3$ {
    /** @deprecated use `RequestBody3$inboundSchema` instead. */
    const inboundSchema: z.ZodType<RequestBody3, z.ZodTypeDef, unknown>;
    /** @deprecated use `RequestBody3$outboundSchema` instead. */
    const outboundSchema: z.ZodType<RequestBody3$Outbound, z.ZodTypeDef, RequestBody3>;
    /** @deprecated use `RequestBody3$Outbound` instead. */
    type Outbound = RequestBody3$Outbound;
}
export declare function requestBody3ToJSON(requestBody3: RequestBody3): string;
export declare function requestBody3FromJSON(jsonString: string): SafeParseResult<RequestBody3, SDKValidationError>;
/** @internal */
export declare const ScopeAccess$inboundSchema: z.ZodNativeEnum<typeof ScopeAccess>;
/** @internal */
export declare const ScopeAccess$outboundSchema: z.ZodNativeEnum<typeof ScopeAccess>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScopeAccess$ {
    /** @deprecated use `ScopeAccess$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Denied: "denied";
        readonly Granted: "granted";
    }>;
    /** @deprecated use `ScopeAccess$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Denied: "denied";
        readonly Granted: "granted";
    }>;
}
/** @internal */
export declare const Scope2$inboundSchema: z.ZodType<Scope2, z.ZodTypeDef, unknown>;
/** @internal */
export type Scope2$Outbound = {
    userId?: string | undefined;
    email: string;
    access: string;
};
/** @internal */
export declare const Scope2$outboundSchema: z.ZodType<Scope2$Outbound, z.ZodTypeDef, Scope2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Scope2$ {
    /** @deprecated use `Scope2$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Scope2, z.ZodTypeDef, unknown>;
    /** @deprecated use `Scope2$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Scope2$Outbound, z.ZodTypeDef, Scope2>;
    /** @deprecated use `Scope2$Outbound` instead. */
    type Outbound = Scope2$Outbound;
}
export declare function scope2ToJSON(scope2: Scope2): string;
export declare function scope2FromJSON(jsonString: string): SafeParseResult<Scope2, SDKValidationError>;
/** @internal */
export declare const Access$inboundSchema: z.ZodNativeEnum<typeof Access>;
/** @internal */
export declare const Access$outboundSchema: z.ZodNativeEnum<typeof Access>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Access$ {
    /** @deprecated use `Access$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Denied: "denied";
        readonly Granted: "granted";
    }>;
    /** @deprecated use `Access$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Denied: "denied";
        readonly Granted: "granted";
    }>;
}
/** @internal */
export declare const Scope1$inboundSchema: z.ZodType<Scope1, z.ZodTypeDef, unknown>;
/** @internal */
export type Scope1$Outbound = {
    userId: string;
    email?: string | undefined;
    access: string;
};
/** @internal */
export declare const Scope1$outboundSchema: z.ZodType<Scope1$Outbound, z.ZodTypeDef, Scope1>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Scope1$ {
    /** @deprecated use `Scope1$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Scope1, z.ZodTypeDef, unknown>;
    /** @deprecated use `Scope1$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Scope1$Outbound, z.ZodTypeDef, Scope1>;
    /** @deprecated use `Scope1$Outbound` instead. */
    type Outbound = Scope1$Outbound;
}
export declare function scope1ToJSON(scope1: Scope1): string;
export declare function scope1FromJSON(jsonString: string): SafeParseResult<Scope1, SDKValidationError>;
/** @internal */
export declare const Scope$inboundSchema: z.ZodType<Scope, z.ZodTypeDef, unknown>;
/** @internal */
export type Scope$Outbound = Scope1$Outbound | Scope2$Outbound;
/** @internal */
export declare const Scope$outboundSchema: z.ZodType<Scope$Outbound, z.ZodTypeDef, Scope>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Scope$ {
    /** @deprecated use `Scope$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Scope, z.ZodTypeDef, unknown>;
    /** @deprecated use `Scope$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Scope$Outbound, z.ZodTypeDef, Scope>;
    /** @deprecated use `Scope$Outbound` instead. */
    type Outbound = Scope$Outbound;
}
export declare function scopeToJSON(scope: Scope): string;
export declare function scopeFromJSON(jsonString: string): SafeParseResult<Scope, SDKValidationError>;
/** @internal */
export declare const RequestBody2$inboundSchema: z.ZodType<RequestBody2, z.ZodTypeDef, unknown>;
/** @internal */
export type RequestBody2$Outbound = {
    scope: Scope1$Outbound | Scope2$Outbound;
};
/** @internal */
export declare const RequestBody2$outboundSchema: z.ZodType<RequestBody2$Outbound, z.ZodTypeDef, RequestBody2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace RequestBody2$ {
    /** @deprecated use `RequestBody2$inboundSchema` instead. */
    const inboundSchema: z.ZodType<RequestBody2, z.ZodTypeDef, unknown>;
    /** @deprecated use `RequestBody2$outboundSchema` instead. */
    const outboundSchema: z.ZodType<RequestBody2$Outbound, z.ZodTypeDef, RequestBody2>;
    /** @deprecated use `RequestBody2$Outbound` instead. */
    type Outbound = RequestBody2$Outbound;
}
export declare function requestBody2ToJSON(requestBody2: RequestBody2): string;
export declare function requestBody2FromJSON(jsonString: string): SafeParseResult<RequestBody2, SDKValidationError>;
/** @internal */
export declare const RequestBodyRevoke$inboundSchema: z.ZodType<RequestBodyRevoke, z.ZodTypeDef, unknown>;
/** @internal */
export type RequestBodyRevoke$Outbound = {
    secret: string;
    regenerate: boolean;
};
/** @internal */
export declare const RequestBodyRevoke$outboundSchema: z.ZodType<RequestBodyRevoke$Outbound, z.ZodTypeDef, RequestBodyRevoke>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace RequestBodyRevoke$ {
    /** @deprecated use `RequestBodyRevoke$inboundSchema` instead. */
    const inboundSchema: z.ZodType<RequestBodyRevoke, z.ZodTypeDef, unknown>;
    /** @deprecated use `RequestBodyRevoke$outboundSchema` instead. */
    const outboundSchema: z.ZodType<RequestBodyRevoke$Outbound, z.ZodTypeDef, RequestBodyRevoke>;
    /** @deprecated use `RequestBodyRevoke$Outbound` instead. */
    type Outbound = RequestBodyRevoke$Outbound;
}
export declare function requestBodyRevokeToJSON(requestBodyRevoke: RequestBodyRevoke): string;
export declare function requestBodyRevokeFromJSON(jsonString: string): SafeParseResult<RequestBodyRevoke, SDKValidationError>;
/** @internal */
export declare const RequestBody1$inboundSchema: z.ZodType<RequestBody1, z.ZodTypeDef, unknown>;
/** @internal */
export type RequestBody1$Outbound = {
    revoke?: RequestBodyRevoke$Outbound | undefined;
};
/** @internal */
export declare const RequestBody1$outboundSchema: z.ZodType<RequestBody1$Outbound, z.ZodTypeDef, RequestBody1>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace RequestBody1$ {
    /** @deprecated use `RequestBody1$inboundSchema` instead. */
    const inboundSchema: z.ZodType<RequestBody1, z.ZodTypeDef, unknown>;
    /** @deprecated use `RequestBody1$outboundSchema` instead. */
    const outboundSchema: z.ZodType<RequestBody1$Outbound, z.ZodTypeDef, RequestBody1>;
    /** @deprecated use `RequestBody1$Outbound` instead. */
    type Outbound = RequestBody1$Outbound;
}
export declare function requestBody1ToJSON(requestBody1: RequestBody1): string;
export declare function requestBody1FromJSON(jsonString: string): SafeParseResult<RequestBody1, SDKValidationError>;
/** @internal */
export declare const PatchAliasesIdProtectionBypassRequestBody$inboundSchema: z.ZodType<PatchAliasesIdProtectionBypassRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchAliasesIdProtectionBypassRequestBody$Outbound = RequestBody1$Outbound | RequestBody2$Outbound | RequestBody3$Outbound;
/** @internal */
export declare const PatchAliasesIdProtectionBypassRequestBody$outboundSchema: z.ZodType<PatchAliasesIdProtectionBypassRequestBody$Outbound, z.ZodTypeDef, PatchAliasesIdProtectionBypassRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchAliasesIdProtectionBypassRequestBody$ {
    /** @deprecated use `PatchAliasesIdProtectionBypassRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchAliasesIdProtectionBypassRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchAliasesIdProtectionBypassRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchAliasesIdProtectionBypassRequestBody$Outbound, z.ZodTypeDef, PatchAliasesIdProtectionBypassRequestBody>;
    /** @deprecated use `PatchAliasesIdProtectionBypassRequestBody$Outbound` instead. */
    type Outbound = PatchAliasesIdProtectionBypassRequestBody$Outbound;
}
export declare function patchAliasesIdProtectionBypassRequestBodyToJSON(patchAliasesIdProtectionBypassRequestBody: PatchAliasesIdProtectionBypassRequestBody): string;
export declare function patchAliasesIdProtectionBypassRequestBodyFromJSON(jsonString: string): SafeParseResult<PatchAliasesIdProtectionBypassRequestBody, SDKValidationError>;
/** @internal */
export declare const PatchAliasesIdProtectionBypassRequest$inboundSchema: z.ZodType<PatchAliasesIdProtectionBypassRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchAliasesIdProtectionBypassRequest$Outbound = {
    id: string;
    RequestBody?: RequestBody1$Outbound | RequestBody2$Outbound | RequestBody3$Outbound | undefined;
};
/** @internal */
export declare const PatchAliasesIdProtectionBypassRequest$outboundSchema: z.ZodType<PatchAliasesIdProtectionBypassRequest$Outbound, z.ZodTypeDef, PatchAliasesIdProtectionBypassRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchAliasesIdProtectionBypassRequest$ {
    /** @deprecated use `PatchAliasesIdProtectionBypassRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchAliasesIdProtectionBypassRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchAliasesIdProtectionBypassRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchAliasesIdProtectionBypassRequest$Outbound, z.ZodTypeDef, PatchAliasesIdProtectionBypassRequest>;
    /** @deprecated use `PatchAliasesIdProtectionBypassRequest$Outbound` instead. */
    type Outbound = PatchAliasesIdProtectionBypassRequest$Outbound;
}
export declare function patchAliasesIdProtectionBypassRequestToJSON(patchAliasesIdProtectionBypassRequest: PatchAliasesIdProtectionBypassRequest): string;
export declare function patchAliasesIdProtectionBypassRequestFromJSON(jsonString: string): SafeParseResult<PatchAliasesIdProtectionBypassRequest, SDKValidationError>;
//# sourceMappingURL=patchaliasesidprotectionbypassop.d.ts.map