import * as canvas from './components/canvas'; import * as date from './components/date'; import * as font from './components/font'; import * as header from './components/header'; import * as webNavigator from './components/navigator'; import * as webScreen from './components/screen'; import * as webgl from './components/webgl'; import * as audio from './components/audio'; import * as webCrypto from './components/crypto'; import * as connection from './components/connection'; export interface SeedFingerprintComponent { canvas: ReturnType; date: ReturnType; font: ReturnType; header: ReturnType; navigator: ReturnType; screen: ReturnType; webgl: ReturnType; audio: ReturnType; crypto: ReturnType; connection: ReturnType; } type SeedFingerprintComponentKey = keyof SeedFingerprintComponent; type AwaitedSeedFingerprintComponent = { [K in keyof SeedFingerprintComponent]: Awaited; }; interface SeedFingerprintComponentIterator extends SeedFingerprintComponent { [Symbol.iterator](): Generator>; } export interface SeedFingerprintOption { /** List of components to exclude. */ excludes?: SeedFingerprintComponentKey[]; } export interface SeedFingerprintResult { /** The fingerprint of the user. */ id: string; /** List of components used to create fingerprints for users. */ component: AwaitedSeedFingerprintComponent; } export declare class SeedFingerprint { /** * The seed used to generate the fingerprint. */ readonly seed: string; /** * List of components to exclude. */ readonly excludes?: SeedFingerprintComponentKey[]; /** * @param seed The seed used to generate the fingerprint. * @param option List of components to exclude. */ constructor(seed: string, option?: SeedFingerprintOption); /** * Gets the component. */ protected get component(): SeedFingerprintComponentIterator; /** * Gets the fingerprint of the user. This is the same as `this.result().id`. */ get(): Promise; /** * Gets the user's fingerprint and component. */ result(): Promise; } export {};