import { l } from "@atproto/lex-schema"; import * as RepoStrongRef from "../../../com/atproto/repo/strongRef.defs.js"; declare const $nsid = "place.stream.chat.profile"; type $nsid = typeof $nsid; export { $nsid }; /** Record containing customizations for a user's chat profile. */ type Main = { $type: "place.stream.chat.profile"; "color"?: Color; /** * Badge selections for display in chat. */ "badges"?: BadgeSelections; /** * Self-applied labels for this profile, e.g. 'bot'. */ "selfLabels"?: (SelfLabel)[]; }; export type { Main }; /** Record containing customizations for a user's chat profile. */ declare const main: l.RecordSchema<"literal:self", "place.stream.chat.profile", l.Validator, Omit>>; export { main }; declare const $type = "place.stream.chat.profile"; type $type = typeof $type; export { $type }; export declare const $isTypeOf: (value: TValue) => value is l.TypedRecord<"place.stream.chat.profile", TValue>; export declare const $build: { (input: Omit, "$type">): { $type: "place.stream.chat.profile"; color?: Color; badges?: BadgeSelections; selfLabels?: (SelfLabel)[]; }; (input: Omit, "$type">): { $type: "place.stream.chat.profile"; color?: Color; badges?: BadgeSelections; selfLabels?: (SelfLabel)[]; }; }; export declare const $assert: (input: unknown, options?: l.ValidateOptions) => asserts input is { $type: "place.stream.chat.profile"; color?: Color; badges?: BadgeSelections; selfLabels?: (SelfLabel)[]; }; export declare const $check: (input: unknown, options?: l.ValidateOptions) => void; export declare const $cast: (input: I, options?: l.ValidateOptions) => I & { $type: "place.stream.chat.profile"; color?: Color; badges?: BadgeSelections; selfLabels?: (SelfLabel)[]; }; export declare const $ifMatches: (input: I, options?: l.ValidateOptions) => (I & { $type: "place.stream.chat.profile"; color?: Color; badges?: BadgeSelections; selfLabels?: (SelfLabel)[]; }) | undefined; export declare const $matches: (input: I, options?: l.ValidateOptions) => input is I & { $type: "place.stream.chat.profile"; color?: Color; badges?: BadgeSelections; selfLabels?: (SelfLabel)[]; }; export declare const $parse: (input: unknown, options?: l.ParseOptions) => { $type: "place.stream.chat.profile"; color?: Color; badges?: BadgeSelections; selfLabels?: (SelfLabel)[]; }; export declare const $safeParse: (input: unknown, options?: l.ParseOptions) => l.ValidationResult<{ $type: "place.stream.chat.profile"; color?: Color; badges?: BadgeSelections; selfLabels?: (SelfLabel)[]; }>; export declare const $validate: (input: I, options?: l.ValidateOptions) => I & { $type: "place.stream.chat.profile"; color?: Color; badges?: BadgeSelections; selfLabels?: (SelfLabel)[]; }; export declare const $safeValidate: (input: I, options?: l.ValidateOptions) => l.ValidationResult; /** Customizations for the color of a user's name in chat */ type Color = { $type?: "place.stream.chat.profile#color"; "red": number; "blue": number; "green": number; }; export type { Color }; /** Customizations for the color of a user's name in chat */ declare const color: l.TypedObjectSchema<"place.stream.chat.profile#color", l.Validator>; export { color }; /** Label that a user can apply to their own profile. */ type SelfLabel = "bot" | l.UnknownString; export type { SelfLabel }; /** Label that a user can apply to their own profile. */ declare const selfLabel: l.StringSchema<{ knownValues: ["bot"]; }>; export { selfLabel }; /** Selected badges for display in chat, organized by slot. */ type BadgeSelections = { $type?: "place.stream.chat.profile#badgeSelections"; /** * Selected globally-issued badge (e.g. event badge). */ "global"?: RepoStrongRef.Main; /** * Selected streamer-issued badges, one per streamer channel. */ "streamer"?: (StreamerBadgeSelection)[]; }; export type { BadgeSelections }; /** Selected badges for display in chat, organized by slot. */ declare const badgeSelections: l.TypedObjectSchema<"place.stream.chat.profile#badgeSelections", l.Validator>; export { badgeSelections }; /** A selected badge for a specific streamer's channel. */ type StreamerBadgeSelection = { $type?: "place.stream.chat.profile#streamerBadgeSelection"; /** * Strong reference to the selected place.stream.badge.issuance record. */ "badge": RepoStrongRef.Main; /** * DID of the streamer whose channel this selection applies to. */ "streamer": l.DidString; }; export type { StreamerBadgeSelection }; /** A selected badge for a specific streamer's channel. */ declare const streamerBadgeSelection: l.TypedObjectSchema<"place.stream.chat.profile#streamerBadgeSelection", l.Validator>; export { streamerBadgeSelection }; //# sourceMappingURL=profile.defs.d.ts.map