/** * @param {object} params * @param {{ id: string, name: string }} params.rp * @param {{ id: string, name: string, displayName: string }} params.user * @param {string | Buffer} params.challengeSecret * @param {import('@exortek/challenge').IncrStore} params.challengeStore * @param {object} [params.authenticatorSelection] * @param {'none' | 'direct' | 'enterprise'} [params.attestation='none'] * @param {Array<'security-key' | 'client-device' | 'hybrid'>} [params.hints] * @param {number} [params.timeoutMs=60_000] * @param {Array<{ id: string | Uint8Array, type?: string, transports?: string[] }>} [params.excludeCredentials] * @param {object} [params.extensions] * @param {number[]} [params.supportedAlgorithms] * @param {string | number} [params.challengeExpiresIn='5m'] * @param {string} [params.challengePrefix] * @returns {Promise<{ * options: Record, * challengeToken: string, * }>} */ export function begin(params: { rp: { id: string; name: string; }; user: { id: string; name: string; displayName: string; }; challengeSecret: string | Buffer; challengeStore: import("@exortek/challenge").IncrStore; authenticatorSelection?: object | undefined; attestation?: "none" | "direct" | "enterprise" | undefined; hints?: ("security-key" | "client-device" | "hybrid")[] | undefined; timeoutMs?: number | undefined; excludeCredentials?: { id: string | Uint8Array; type?: string; transports?: string[]; }[] | undefined; extensions?: object | undefined; supportedAlgorithms?: number[] | undefined; challengeExpiresIn?: string | number | undefined; challengePrefix?: string | undefined; }): Promise<{ options: Record; challengeToken: string; }>;