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 declare const QueryParam2: {
    readonly Only: "only";
};
export type QueryParam2 = ClosedEnum<typeof QueryParam2>;
export type Diff = boolean | QueryParam2;
export declare const SortBy: {
    readonly Source: "source";
    readonly Destination: "destination";
    readonly StatusCode: "statusCode";
};
export type SortBy = ClosedEnum<typeof SortBy>;
export declare const SortOrder: {
    readonly Asc: "asc";
    readonly Desc: "desc";
};
export type SortOrder = ClosedEnum<typeof SortOrder>;
export type GetRedirectsRequest = {
    projectId: string;
    versionId?: string | undefined;
    q?: string | undefined;
    diff?: boolean | QueryParam2 | undefined;
    page?: number | undefined;
    perPage?: number | undefined;
    sortBy?: SortBy | undefined;
    sortOrder?: SortOrder | 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;
};
export type GetRedirectsResponseBodyVersion = {
    /**
     * The unique identifier for the version.
     */
    id: string;
    /**
     * The key of the version. The key may be duplicated across versions if the contents are the same as a different version.
     */
    key: string;
    lastModified: number;
    createdBy: string;
    /**
     * Optional name for the version. If not provided, defaults to an ISO timestamp string.
     */
    name?: string | undefined;
    /**
     * Whether this version has not been promoted to production yet and is not serving end users.
     */
    isStaging?: boolean | undefined;
    /**
     * Whether this version is currently live in production.
     */
    isLive?: boolean | undefined;
    /**
     * The number of redirects in this version.
     */
    redirectCount?: number | undefined;
    /**
     * The staging link for previewing redirects in this version.
     */
    alias?: string | undefined;
};
export type GetRedirectsResponseBodyRedirects = {
    statusCode?: number | undefined;
    permanent?: boolean | undefined;
    sensitive?: boolean | undefined;
    caseSensitive?: boolean | undefined;
    query?: boolean | undefined;
    preserveQueryParams?: boolean | undefined;
    destination: string;
    source: string;
};
export type GetRedirectsResponseBodyBulkRedirectsPagination = {
    page: number;
    perPage: number;
    numPages: number;
};
export type ResponseBody3 = {
    version: GetRedirectsResponseBodyVersion;
    redirects: Array<GetRedirectsResponseBodyRedirects>;
    pagination: GetRedirectsResponseBodyBulkRedirectsPagination;
};
export type ResponseBodyVersion = {
    /**
     * The unique identifier for the version.
     */
    id: string;
    /**
     * The key of the version. The key may be duplicated across versions if the contents are the same as a different version.
     */
    key: string;
    lastModified: number;
    createdBy: string;
    /**
     * Optional name for the version. If not provided, defaults to an ISO timestamp string.
     */
    name?: string | undefined;
    /**
     * Whether this version has not been promoted to production yet and is not serving end users.
     */
    isStaging?: boolean | undefined;
    /**
     * Whether this version is currently live in production.
     */
    isLive?: boolean | undefined;
    /**
     * The number of redirects in this version.
     */
    redirectCount?: number | undefined;
    /**
     * The staging link for previewing redirects in this version.
     */
    alias?: string | undefined;
};
export type ResponseBodyRedirects = {
    statusCode?: number | undefined;
    permanent?: boolean | undefined;
    sensitive?: boolean | undefined;
    caseSensitive?: boolean | undefined;
    query?: boolean | undefined;
    preserveQueryParams?: boolean | undefined;
    destination: string;
    source: string;
};
export type GetRedirectsResponseBodyPagination = {
    page: number;
    perPage: number;
    numPages: number;
};
export type GetRedirectsResponseBody2 = {
    version?: ResponseBodyVersion | undefined;
    redirects: Array<ResponseBodyRedirects>;
    pagination: GetRedirectsResponseBodyPagination;
};
export type GetRedirectsResponseBody = ResponseBody3 | GetRedirectsResponseBody2 | {
    [k: string]: any;
};
/** @internal */
export declare const QueryParam2$outboundSchema: z.ZodNativeEnum<typeof QueryParam2>;
/** @internal */
export type Diff$Outbound = boolean | string;
/** @internal */
export declare const Diff$outboundSchema: z.ZodType<Diff$Outbound, z.ZodTypeDef, Diff>;
export declare function diffToJSON(diff: Diff): string;
/** @internal */
export declare const SortBy$outboundSchema: z.ZodNativeEnum<typeof SortBy>;
/** @internal */
export declare const SortOrder$outboundSchema: z.ZodNativeEnum<typeof SortOrder>;
/** @internal */
export type GetRedirectsRequest$Outbound = {
    projectId: string;
    versionId?: string | undefined;
    q?: string | undefined;
    diff?: boolean | string | undefined;
    page?: number | undefined;
    per_page?: number | undefined;
    sort_by?: string | undefined;
    sort_order?: string | undefined;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const GetRedirectsRequest$outboundSchema: z.ZodType<GetRedirectsRequest$Outbound, z.ZodTypeDef, GetRedirectsRequest>;
export declare function getRedirectsRequestToJSON(getRedirectsRequest: GetRedirectsRequest): string;
/** @internal */
export declare const GetRedirectsResponseBodyVersion$inboundSchema: z.ZodType<GetRedirectsResponseBodyVersion, z.ZodTypeDef, unknown>;
export declare function getRedirectsResponseBodyVersionFromJSON(jsonString: string): SafeParseResult<GetRedirectsResponseBodyVersion, SDKValidationError>;
/** @internal */
export declare const GetRedirectsResponseBodyRedirects$inboundSchema: z.ZodType<GetRedirectsResponseBodyRedirects, z.ZodTypeDef, unknown>;
export declare function getRedirectsResponseBodyRedirectsFromJSON(jsonString: string): SafeParseResult<GetRedirectsResponseBodyRedirects, SDKValidationError>;
/** @internal */
export declare const GetRedirectsResponseBodyBulkRedirectsPagination$inboundSchema: z.ZodType<GetRedirectsResponseBodyBulkRedirectsPagination, z.ZodTypeDef, unknown>;
export declare function getRedirectsResponseBodyBulkRedirectsPaginationFromJSON(jsonString: string): SafeParseResult<GetRedirectsResponseBodyBulkRedirectsPagination, SDKValidationError>;
/** @internal */
export declare const ResponseBody3$inboundSchema: z.ZodType<ResponseBody3, z.ZodTypeDef, unknown>;
export declare function responseBody3FromJSON(jsonString: string): SafeParseResult<ResponseBody3, SDKValidationError>;
/** @internal */
export declare const ResponseBodyVersion$inboundSchema: z.ZodType<ResponseBodyVersion, z.ZodTypeDef, unknown>;
export declare function responseBodyVersionFromJSON(jsonString: string): SafeParseResult<ResponseBodyVersion, SDKValidationError>;
/** @internal */
export declare const ResponseBodyRedirects$inboundSchema: z.ZodType<ResponseBodyRedirects, z.ZodTypeDef, unknown>;
export declare function responseBodyRedirectsFromJSON(jsonString: string): SafeParseResult<ResponseBodyRedirects, SDKValidationError>;
/** @internal */
export declare const GetRedirectsResponseBodyPagination$inboundSchema: z.ZodType<GetRedirectsResponseBodyPagination, z.ZodTypeDef, unknown>;
export declare function getRedirectsResponseBodyPaginationFromJSON(jsonString: string): SafeParseResult<GetRedirectsResponseBodyPagination, SDKValidationError>;
/** @internal */
export declare const GetRedirectsResponseBody2$inboundSchema: z.ZodType<GetRedirectsResponseBody2, z.ZodTypeDef, unknown>;
export declare function getRedirectsResponseBody2FromJSON(jsonString: string): SafeParseResult<GetRedirectsResponseBody2, SDKValidationError>;
/** @internal */
export declare const GetRedirectsResponseBody$inboundSchema: z.ZodType<GetRedirectsResponseBody, z.ZodTypeDef, unknown>;
export declare function getRedirectsResponseBodyFromJSON(jsonString: string): SafeParseResult<GetRedirectsResponseBody, SDKValidationError>;
//# sourceMappingURL=getredirectsop.d.ts.map