UNPKG

@signalapp/mock-server

Version:
66 lines (65 loc) 2.48 kB
/// <reference types="node" /> /// <reference types="node" /> import { ProtocolAddress } from '@signalapp/libsignal-client'; import type { JsonValue } from 'type-fest'; import { type RegistrationId, ServiceIdKind } from './types'; import { ParsedUrlQuery } from 'node:querystring'; import { Device } from './data/device'; export type PromiseQueueConfig = Readonly<{ timeout?: number; }>; export declare function generateRandomE164(): string; export type ParseAuthHeaderResult = { username: string; password: string; error?: undefined; } | { username?: undefined; password?: undefined; error: string; }; export declare function parseAuthHeader(header?: string, options?: { allowEmptyPassword?: boolean; }): ParseAuthHeaderResult; export declare class PromiseQueue<T> { private readonly defaultTimeout; private readonly entries; private readonly resolvers; constructor(config?: PromiseQueueConfig); get size(): number; pushAndWait(value: T, timeout?: number | undefined): Promise<void>; push(value: T): void; shift(timeout?: number | undefined): Promise<T>; } export declare function addressToString(address: ProtocolAddress): string; export declare function getTodayInSeconds(): number; export declare function daysToSeconds(days: number): number; export declare function generateRegistrationId(): RegistrationId; export declare function generateDevicePassword(): string; export declare function toBase64(buf: Uint8Array): string; export declare function toURLSafeBase64(buf: Uint8Array): string; export declare function fromBase64(base64: string): Buffer; export declare function fromURLSafeBase64(base64: string): Buffer; export declare function assertJsonValue(root: unknown): asserts root is JsonValue; export declare function serviceIdKindFromQuery(query: Record<string, string> | ParsedUrlQuery | undefined): ServiceIdKind; export declare function getDevicesKeysResult(serviceIdKind: ServiceIdKind, devices: ReadonlyArray<Device>): Promise<{ identityKey: string; devices: { deviceId: import("./types").DeviceId; registrationId: number; signedPreKey: { keyId: number; publicKey: string; signature: string; }; pqPreKey: { keyId: number; publicKey: string; signature: string; }; preKey: { keyId: number; publicKey: string; } | null; }[]; }>;