···11import type { BaseClientOptions, ClientRequirements } from "@cistern/shared";
22import type { ResourceUri, Tid } from "@atcute/lexicons";
3344+/**
55+ * A locally-stored key pair suitable for storage
66+ */
47export interface InputLocalKeyPair {
88+ /** An X-Wing private key, encoded in base64 */
59 privateKey: string;
1010+1111+ /** An AT URI to the `app.cistern.pubkey` record derived from this private key */
612 publicKey: ResourceUri;
713}
8141515+/**
1616+ * InputLocalKeyPair, with `privateKey` decoded to a Uint8Array
1717+ */
918export interface LocalKeyPair {
1919+ /** An X-Wing private key in raw byte format */
1020 privateKey: Uint8Array;
2121+2222+ /** An AT URI to the `app.cistern.pubkey` record derived from this private key */
1123 publicKey: ResourceUri;
1224}
13252626+/** Credentials and optional keypair for creating a Consumer client */
1427export interface ConsumerOptions extends BaseClientOptions {
2828+ /** Optional input keypair. If you do not provide this here, you will need to generate one after the client is instantiated */
1529 keypair?: InputLocalKeyPair;
1630}
17313232+/** Asynchronously-acquired parameters required to construct a Client. `createConsumer` will translate from `ConsumerOptions` to `ConsumerParams` for you */
1833export type ConsumerParams = ClientRequirements<ConsumerOptions>;
19343535+/** A simplified, encrypted memo */
2036export interface DecryptedMemo {
3737+ /** TID for when the memo was created */
2138 tid: Tid;
3939+4040+ /** The original, decrypted contents of the memo */
2241 text: string;
2342}