import { l } from "@atproto/lex-schema"; import * as LabelDefs from "../../com/atproto/label/defs.defs.js"; import * as RepoStrongRef from "../../com/atproto/repo/strongRef.defs.js"; declare const $nsid = "site.standard.document"; type $nsid = typeof $nsid; export { $nsid }; /** A document record representing a published article, blog post, or other content. Documents can belong to a publication or exist independently. */ type Main = { $type: "site.standard.document"; /** * Combine with site or publication url to construct a canonical URL to the document. Prepend with a leading slash. */ "path"?: string; /** * Points to a publication record (at://) or a publication url (https://) for loose documents. Avoid trailing slashes. */ "site": l.UriString; /** * Array of strings used to tag or categorize the document. Avoid prepending tags with hashtags. */ "tags"?: (string)[]; /** * Array of values describing relationships between this document and external resources */ "links"?: l.Unknown$TypedObject; /** * Title of the document. */ "title": string; /** * Self-label values for this post. Effectively content warnings. */ "labels"?: l.$Typed | l.Unknown$TypedObject; /** * Open union used to define the record's content. Each entry must specify a $type and may be extended with other lexicons to support additional content formats. */ "content"?: l.Unknown$TypedObject; /** * Timestamp of the documents last edit. */ "updatedAt"?: l.DatetimeString; /** * Image to used for thumbnail or cover image. Less than 1MB is size. */ "coverImage"?: l.BlobRef; /** * Strong reference to a Bluesky post. Useful to keep track of comments off-platform. */ "bskyPostRef"?: RepoStrongRef.Main; /** * A brief description or excerpt from the document. */ "description"?: string; /** * Timestamp of the documents publish time. */ "publishedAt": l.DatetimeString; /** * Plaintext representation of the documents contents. Should not contain markdown or other formatting. */ "textContent"?: string; "contributors"?: (Contributor)[]; }; export type { Main }; /** A document record representing a published article, blog post, or other content. Documents can belong to a publication or exist independently. */ declare const main: l.RecordSchema<"tid", "site.standard.document", l.Validator, Omit>>; export { main }; declare const $type = "site.standard.document"; type $type = typeof $type; export { $type }; export declare const $isTypeOf: (value: TValue) => value is l.TypedRecord<"site.standard.document", TValue>; export declare const $build: { (input: Omit, "$type">): { $type: "site.standard.document"; path?: string; site: l.UriString; tags?: (string)[]; links?: l.Unknown$TypedObject; title: string; labels?: l.$Typed | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }; (input: Omit, "$type">): { $type: "site.standard.document"; path?: string; site: l.UriString; tags?: (string)[]; links?: l.Unknown$TypedObject; title: string; labels?: l.$Typed | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }; }; export declare const $assert: (input: unknown, options?: l.ValidateOptions) => asserts input is { $type: "site.standard.document"; path?: string; site: l.UriString; tags?: (string)[]; links?: l.Unknown$TypedObject; title: string; labels?: l.$Typed | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }; export declare const $check: (input: unknown, options?: l.ValidateOptions) => void; export declare const $cast: (input: I, options?: l.ValidateOptions) => I & { $type: "site.standard.document"; path?: string; site: l.UriString; tags?: (string)[]; links?: l.Unknown$TypedObject; title: string; labels?: l.$Typed | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }; export declare const $ifMatches: (input: I, options?: l.ValidateOptions) => (I & { $type: "site.standard.document"; path?: string; site: l.UriString; tags?: (string)[]; links?: l.Unknown$TypedObject; title: string; labels?: l.$Typed | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }) | undefined; export declare const $matches: (input: I, options?: l.ValidateOptions) => input is I & { $type: "site.standard.document"; path?: string; site: l.UriString; tags?: (string)[]; links?: l.Unknown$TypedObject; title: string; labels?: l.$Typed | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }; export declare const $parse: (input: unknown, options?: l.ParseOptions) => { $type: "site.standard.document"; path?: string; site: l.UriString; tags?: (string)[]; links?: l.Unknown$TypedObject; title: string; labels?: l.$Typed | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }; export declare const $safeParse: (input: unknown, options?: l.ParseOptions) => l.ValidationResult<{ $type: "site.standard.document"; path?: string; site: l.UriString; tags?: (string)[]; links?: l.Unknown$TypedObject; title: string; labels?: l.$Typed | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }>; export declare const $validate: (input: I, options?: l.ValidateOptions) => I & { $type: "site.standard.document"; path?: string; site: l.UriString; tags?: (string)[]; links?: l.Unknown$TypedObject; title: string; labels?: l.$Typed | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }; export declare const $safeValidate: (input: I, options?: l.ValidateOptions) => l.ValidationResult | l.Unknown$TypedObject; content?: l.Unknown$TypedObject; updatedAt?: l.DatetimeString; coverImage?: l.BlobRef; bskyPostRef?: RepoStrongRef.Main; description?: string; publishedAt: l.DatetimeString; textContent?: string; contributors?: (Contributor)[]; }>; type Contributor = { $type?: "site.standard.document#contributor"; "did": l.DidString; "role"?: string; "displayName"?: string; }; export type { Contributor }; declare const contributor: l.TypedObjectSchema<"site.standard.document#contributor", l.Validator>; export { contributor }; //# sourceMappingURL=document.defs.d.ts.map