lume/packages/types/index.d.ts

158 lines
2.5 KiB
TypeScript
Raw Normal View History

2024-02-06 12:28:46 +00:00
import { type NDKEvent, type NDKUserProfile } from "@nostr-dev-kit/ndk";
export interface Keys {
npub: string;
nsec: string;
}
export enum Kind {
Metadata = 0,
Text = 1,
RecommendRelay = 2,
Contacts = 3,
Repost = 6,
Reaction = 7,
// NIP-89: App Metadata
AppRecommendation = 31989,
AppHandler = 31990,
// #TODO: Add all nostr kinds
}
export interface Event {
id: string;
pubkey: string;
created_at: number;
kind: Kind;
tags: string[][];
content: string;
sig: string;
}
export interface Metadata {
name: Option<string>;
display_name: Option<string>;
about: Option<string>;
website: Option<string>;
picture: Option<string>;
banner: Option<string>;
nip05: Option<string>;
lud06: Option<string>;
lud16: Option<string>;
}
export interface CurrentAccount {
npub: string;
contacts: string[];
interests: Interests;
}
export interface Interests {
hashtags: string[];
users: string[];
words: string[];
}
2023-12-25 07:28:39 +00:00
export interface RichContent {
parsed: string;
images: string[];
videos: string[];
links: string[];
notes: string[];
}
export interface IColumn {
2023-12-31 13:53:51 +00:00
id?: number;
kind: number;
title: string;
content: string;
}
2023-12-25 07:28:39 +00:00
export interface Opengraph {
url: string;
title?: string;
description?: string;
image?: string;
}
export interface NDKEventWithReplies extends NDKEvent {
replies: Array<NDKEvent>;
}
export interface NostrBuildResponse {
ok: boolean;
data?: {
message: string;
status: string;
data: Array<{
blurhash: string;
dimensions: {
width: number;
height: number;
};
mime: string;
name: string;
sha256: string;
size: number;
url: string;
}>;
};
}
export interface NDKCacheUser {
pubkey: string;
profile: string | NDKUserProfile;
createdAt: number;
}
export interface NDKCacheUserProfile extends NDKUserProfile {
2024-01-04 01:52:45 +00:00
npub: string;
2023-12-25 07:28:39 +00:00
}
export interface NDKCacheEvent {
id: string;
pubkey: string;
content: string;
kind: number;
createdAt: number;
relay: string;
event: string;
}
export interface NDKCacheEventTag {
id: string;
eventId: string;
tag: string;
value: string;
tagValue: string;
}
export interface NIP11 {
name: string;
description: string;
pubkey: string;
contact: string;
supported_nips: number[];
software: string;
version: string;
limitation: {
[key: string]: string | number | boolean;
};
relay_countries: string[];
language_tags: string[];
tags: string[];
posting_policy: string;
payments_url: string;
icon: string[];
}
export interface NIP05 {
names: {
[key: string]: string;
};
2024-01-10 02:22:13 +00:00
nip46: {
[key: string]: {
[key: string]: string[];
};
};
2023-12-25 07:28:39 +00:00
}