import {z} from 'zod'
export type Link = {deprecation?: string | undefined, href?: string | undefined, hreflang?: string | undefined, media?: string | undefined, rel?: string | undefined, title?: string | undefined, type?: string | undefined};
export type PolicyOverrideReviewer = {comment?: string | undefined, date?: string | undefined, links: Array, name?: string | undefined, user?: Record | undefined};
export type OverrideCheckResultTypeResource = 'pass' | 'fail' | 'not-applicable' | 'fixed';
export type PolicyCheckResultTypeResource = 'pass' | 'fail' | 'error' | 'unknown' | 'not-applicable' | 'not-checked' | 'not-selected' | 'informational' | 'fixed';
export type PolicyOverrideScope = {asset?: Record | undefined, links: Array, newResult: OverrideCheckResultTypeResource, originalResult?: PolicyCheckResultTypeResource | undefined, rule: Record, type: 'all-assets' | 'specific-asset' | 'specific-asset-until-next-scan'};
export type PolicyOverrideSubmitter = {comment: string, date?: string | undefined, links: Array, name?: string | undefined, user?: Record | undefined};
export type PolicyOverride = {expires?: string | undefined, id?: Record | undefined, links: Array, review?: PolicyOverrideReviewer | undefined, scope: PolicyOverrideScope, state: 'under-review' | 'approved' | 'rejected' | 'deleted' | 'expired', submit: PolicyOverrideSubmitter};
export type CreateApiApi3PolicyOverridesArgs = {body: PolicyOverride};
export type CreateApiApi3PolicyOverridesOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined};
export const link = z.object({deprecation: z.string().optional(), href: z.string().optional(), hreflang: z.string().optional(), media: z.string().optional(), rel: z.string().optional(), title: z.string().optional(), type: z.string().optional()});
export const referenceResourcePolicyOverrideIDLink = z.object({id: z.object({}).optional(), links: z.array(link)});
export const validateResponse = async