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 PatchUrlProtectionBypassRequestBodyAction: {
    readonly Create: "create";
    readonly Revoke: "revoke";
};
export type PatchUrlProtectionBypassRequestBodyAction = ClosedEnum<typeof PatchUrlProtectionBypassRequestBodyAction>;
export type Override = {
    scope: RequestBodyScope;
    action: PatchUrlProtectionBypassRequestBodyAction;
};
export type PatchUrlProtectionBypassRequestBody3 = {
    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 PatchUrlProtectionBypassRequestBody2 = {
    /**
     * 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 PatchUrlProtectionBypassRequestBody1 = {
    /**
     * Optional instructions for revoking and regenerating a shareable link
     */
    revoke?: RequestBodyRevoke | undefined;
};
export type PatchUrlProtectionBypassRequestBody = PatchUrlProtectionBypassRequestBody2 | PatchUrlProtectionBypassRequestBody3 | PatchUrlProtectionBypassRequestBody1;
export type PatchUrlProtectionBypassRequest = {
    /**
     * The alias or deployment ID
     */
    id: string;
    /**
     * 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?: PatchUrlProtectionBypassRequestBody2 | PatchUrlProtectionBypassRequestBody3 | PatchUrlProtectionBypassRequestBody1 | 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 PatchUrlProtectionBypassRequestBodyAction$inboundSchema: z.ZodNativeEnum<typeof PatchUrlProtectionBypassRequestBodyAction>;
/** @internal */
export declare const PatchUrlProtectionBypassRequestBodyAction$outboundSchema: z.ZodNativeEnum<typeof PatchUrlProtectionBypassRequestBodyAction>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchUrlProtectionBypassRequestBodyAction$ {
    /** @deprecated use `PatchUrlProtectionBypassRequestBodyAction$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Create: "create";
        readonly Revoke: "revoke";
    }>;
    /** @deprecated use `PatchUrlProtectionBypassRequestBodyAction$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 PatchUrlProtectionBypassRequestBody3$inboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody3, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchUrlProtectionBypassRequestBody3$Outbound = {
    override: Override$Outbound;
};
/** @internal */
export declare const PatchUrlProtectionBypassRequestBody3$outboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody3$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequestBody3>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchUrlProtectionBypassRequestBody3$ {
    /** @deprecated use `PatchUrlProtectionBypassRequestBody3$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody3, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchUrlProtectionBypassRequestBody3$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody3$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequestBody3>;
    /** @deprecated use `PatchUrlProtectionBypassRequestBody3$Outbound` instead. */
    type Outbound = PatchUrlProtectionBypassRequestBody3$Outbound;
}
export declare function patchUrlProtectionBypassRequestBody3ToJSON(patchUrlProtectionBypassRequestBody3: PatchUrlProtectionBypassRequestBody3): string;
export declare function patchUrlProtectionBypassRequestBody3FromJSON(jsonString: string): SafeParseResult<PatchUrlProtectionBypassRequestBody3, 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 PatchUrlProtectionBypassRequestBody2$inboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody2, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchUrlProtectionBypassRequestBody2$Outbound = {
    scope: Scope1$Outbound | Scope2$Outbound;
};
/** @internal */
export declare const PatchUrlProtectionBypassRequestBody2$outboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody2$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequestBody2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchUrlProtectionBypassRequestBody2$ {
    /** @deprecated use `PatchUrlProtectionBypassRequestBody2$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody2, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchUrlProtectionBypassRequestBody2$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody2$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequestBody2>;
    /** @deprecated use `PatchUrlProtectionBypassRequestBody2$Outbound` instead. */
    type Outbound = PatchUrlProtectionBypassRequestBody2$Outbound;
}
export declare function patchUrlProtectionBypassRequestBody2ToJSON(patchUrlProtectionBypassRequestBody2: PatchUrlProtectionBypassRequestBody2): string;
export declare function patchUrlProtectionBypassRequestBody2FromJSON(jsonString: string): SafeParseResult<PatchUrlProtectionBypassRequestBody2, 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 PatchUrlProtectionBypassRequestBody1$inboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody1, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchUrlProtectionBypassRequestBody1$Outbound = {
    revoke?: RequestBodyRevoke$Outbound | undefined;
};
/** @internal */
export declare const PatchUrlProtectionBypassRequestBody1$outboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody1$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequestBody1>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchUrlProtectionBypassRequestBody1$ {
    /** @deprecated use `PatchUrlProtectionBypassRequestBody1$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody1, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchUrlProtectionBypassRequestBody1$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody1$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequestBody1>;
    /** @deprecated use `PatchUrlProtectionBypassRequestBody1$Outbound` instead. */
    type Outbound = PatchUrlProtectionBypassRequestBody1$Outbound;
}
export declare function patchUrlProtectionBypassRequestBody1ToJSON(patchUrlProtectionBypassRequestBody1: PatchUrlProtectionBypassRequestBody1): string;
export declare function patchUrlProtectionBypassRequestBody1FromJSON(jsonString: string): SafeParseResult<PatchUrlProtectionBypassRequestBody1, SDKValidationError>;
/** @internal */
export declare const PatchUrlProtectionBypassRequestBody$inboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchUrlProtectionBypassRequestBody$Outbound = PatchUrlProtectionBypassRequestBody2$Outbound | PatchUrlProtectionBypassRequestBody3$Outbound | PatchUrlProtectionBypassRequestBody1$Outbound;
/** @internal */
export declare const PatchUrlProtectionBypassRequestBody$outboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchUrlProtectionBypassRequestBody$ {
    /** @deprecated use `PatchUrlProtectionBypassRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchUrlProtectionBypassRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchUrlProtectionBypassRequestBody$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequestBody>;
    /** @deprecated use `PatchUrlProtectionBypassRequestBody$Outbound` instead. */
    type Outbound = PatchUrlProtectionBypassRequestBody$Outbound;
}
export declare function patchUrlProtectionBypassRequestBodyToJSON(patchUrlProtectionBypassRequestBody: PatchUrlProtectionBypassRequestBody): string;
export declare function patchUrlProtectionBypassRequestBodyFromJSON(jsonString: string): SafeParseResult<PatchUrlProtectionBypassRequestBody, SDKValidationError>;
/** @internal */
export declare const PatchUrlProtectionBypassRequest$inboundSchema: z.ZodType<PatchUrlProtectionBypassRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchUrlProtectionBypassRequest$Outbound = {
    id: string;
    teamId?: string | undefined;
    slug?: string | undefined;
    RequestBody?: PatchUrlProtectionBypassRequestBody2$Outbound | PatchUrlProtectionBypassRequestBody3$Outbound | PatchUrlProtectionBypassRequestBody1$Outbound | undefined;
};
/** @internal */
export declare const PatchUrlProtectionBypassRequest$outboundSchema: z.ZodType<PatchUrlProtectionBypassRequest$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchUrlProtectionBypassRequest$ {
    /** @deprecated use `PatchUrlProtectionBypassRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchUrlProtectionBypassRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchUrlProtectionBypassRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchUrlProtectionBypassRequest$Outbound, z.ZodTypeDef, PatchUrlProtectionBypassRequest>;
    /** @deprecated use `PatchUrlProtectionBypassRequest$Outbound` instead. */
    type Outbound = PatchUrlProtectionBypassRequest$Outbound;
}
export declare function patchUrlProtectionBypassRequestToJSON(patchUrlProtectionBypassRequest: PatchUrlProtectionBypassRequest): string;
export declare function patchUrlProtectionBypassRequestFromJSON(jsonString: string): SafeParseResult<PatchUrlProtectionBypassRequest, SDKValidationError>;
//# sourceMappingURL=patchurlprotectionbypassop.d.ts.map