/*
 * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
 */

import { l } from '@atproto/lex'

const $nsid = 'com.atproto.repo.strongRef'

export { $nsid }

type Main = {
  $type?: 'com.atproto.repo.strongRef'
  cid: l.CidString
  uri: l.AtUriString
}

export type { Main }

const main = /*#__PURE__*/ l.typedObject<Main>(
  $nsid,
  'main',
  /*#__PURE__*/ l.object({
    cid: /*#__PURE__*/ l.string({ format: 'cid' }),
    uri: /*#__PURE__*/ l.string({ format: 'at-uri' }),
  }),
)

export { main }

export const $type = $nsid
export const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main)
export const $build = /*#__PURE__*/ main.build.bind(main)
export const $assert = /*#__PURE__*/ main.assert.bind(main)
export const $check = /*#__PURE__*/ main.check.bind(main)
export const $cast = /*#__PURE__*/ main.cast.bind(main)
export const $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main)
export const $matches = /*#__PURE__*/ main.matches.bind(main)
export const $parse = /*#__PURE__*/ main.parse.bind(main)
export const $safeParse = /*#__PURE__*/ main.safeParse.bind(main)
export const $validate = /*#__PURE__*/ main.validate.bind(main)
export const $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main)
