import { l } from '@atproto/lex'; import * as RepoStrongRef from '../../com/atproto/repo/strongRef.defs.js'; import * as LabelDefs from '../../com/atproto/label/defs.defs.js'; declare const $nsid = "site.standard.document"; export { $nsid }; type Contributor = { $type?: 'site.standard.document#contributor'; did: l.DidString; displayName?: string; role?: string; }; export type { Contributor }; declare const contributor: l.TypedObjectSchema<"site.standard.document#contributor", l.Validator>; export { contributor }; /** 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'; /** * Strong reference to a Bluesky post. Useful to keep track of comments off-platform. */ bskyPostRef?: RepoStrongRef.Main; /** * 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; contributors?: Contributor[]; /** * Image to used for thumbnail or cover image. Less than 1MB is size. */ coverImage?: l.BlobRef; /** * A brief description or excerpt from the document. */ description?: string; /** * Self-label values for this post. Effectively content warnings. */ labels?: l.$Typed | l.Unknown$TypedObject; /** * Array of values describing relationships between this document and external resources */ links?: l.Unknown$TypedObject; /** * Combine with site or publication url to construct a canonical URL to the document. Prepend with a leading slash. */ path?: string; /** * Timestamp of the documents publish time. */ publishedAt: l.DatetimeString; /** * 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[]; /** * Plaintext representation of the documents contents. Should not contain markdown or other formatting. */ textContent?: string; /** * Title of the document. */ title: string; /** * Timestamp of the documents last edit. */ updatedAt?: l.DatetimeString; }; 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 }; export declare const $type = "site.standard.document"; 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"; bskyPostRef?: RepoStrongRef.Main; content?: l.Unknown$TypedObject; contributors?: Contributor[]; coverImage?: l.BlobRef; description?: string; labels?: l.$Typed | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }; (input: Omit, "$type">): { $type: "site.standard.document"; bskyPostRef?: RepoStrongRef.Main; content?: l.Unknown$TypedObject; contributors?: Contributor[]; coverImage?: l.BlobRef; description?: string; labels?: l.$Typed | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }; }; export declare const $assert: (input: unknown, options?: l.ValidateOptions) => asserts input is { $type: "site.standard.document"; bskyPostRef?: RepoStrongRef.Main; content?: l.Unknown$TypedObject; contributors?: Contributor[]; coverImage?: l.BlobRef; description?: string; labels?: l.$Typed | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }; export declare const $check: (input: unknown, options?: l.ValidateOptions) => void; export declare const $cast: (input: I, options?: l.ValidateOptions) => I & { $type: "site.standard.document"; bskyPostRef?: RepoStrongRef.Main; content?: l.Unknown$TypedObject; contributors?: Contributor[]; coverImage?: l.BlobRef; description?: string; labels?: l.$Typed | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }; export declare const $ifMatches: (input: I, options?: l.ValidateOptions) => (I & { $type: "site.standard.document"; bskyPostRef?: RepoStrongRef.Main; content?: l.Unknown$TypedObject; contributors?: Contributor[]; coverImage?: l.BlobRef; description?: string; labels?: l.$Typed | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }) | undefined; export declare const $matches: (input: I, options?: l.ValidateOptions) => input is I & { $type: "site.standard.document"; bskyPostRef?: RepoStrongRef.Main; content?: l.Unknown$TypedObject; contributors?: Contributor[]; coverImage?: l.BlobRef; description?: string; labels?: l.$Typed | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }; export declare const $parse: (input: unknown, options?: l.ParseOptions) => { $type: "site.standard.document"; bskyPostRef?: RepoStrongRef.Main; content?: l.Unknown$TypedObject; contributors?: Contributor[]; coverImage?: l.BlobRef; description?: string; labels?: l.$Typed | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }; export declare const $safeParse: (input: unknown, options?: l.ParseOptions) => l.ValidationResult<{ $type: "site.standard.document"; bskyPostRef?: RepoStrongRef.Main; content?: l.Unknown$TypedObject; contributors?: Contributor[]; coverImage?: l.BlobRef; description?: string; labels?: l.$Typed | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }>; export declare const $validate: (input: I, options?: l.ValidateOptions) => I & { $type: "site.standard.document"; bskyPostRef?: RepoStrongRef.Main; content?: l.Unknown$TypedObject; contributors?: Contributor[]; coverImage?: l.BlobRef; description?: string; labels?: l.$Typed | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }; export declare const $safeValidate: (input: I, options?: l.ValidateOptions) => l.ValidationResult | l.Unknown$TypedObject; links?: l.Unknown$TypedObject; path?: string; publishedAt: l.DatetimeString; site: l.UriString; tags?: string[]; textContent?: string; title: string; updatedAt?: l.DatetimeString; }>; //# sourceMappingURL=document.defs.d.ts.map