import { notImplemented } from "../../_utils.ts";import randomBytes from "./_randomBytes.ts";import randomFill, { randomFillSync } from "./_randomFill.ts";import randomInt from "./_randomInt.ts";
export { default as randomBytes } from "./_randomBytes.ts";export { default as randomFill, randomFillSync } from "./_randomFill.ts";export { default as randomInt } from "./_randomInt.ts";
export type LargeNumberLike = | ArrayBufferView | SharedArrayBuffer | ArrayBuffer | bigint;
export interface CheckPrimeOptions { checks?: number | undefined;}
export function checkPrime( candidate: LargeNumberLike, callback: (err: Error | null, result: boolean) => void,): void;export function checkPrime( candidate: LargeNumberLike, options: CheckPrimeOptions, callback: (err: Error | null, result: boolean) => void,): void;export function checkPrime( _candidate: LargeNumberLike, _options?: CheckPrimeOptions | ((err: Error | null, result: boolean) => void), _callback?: (err: Error | null, result: boolean) => void,) { notImplemented("crypto.checkPrime");}
export function checkPrimeSync( _candidate: LargeNumberLike, _options?: CheckPrimeOptions,): boolean { notImplemented("crypto.checkPrimeSync");}
export interface GeneratePrimeOptions { add?: LargeNumberLike | undefined; rem?: LargeNumberLike | undefined; safe?: boolean | undefined; bigint?: boolean | undefined;}
export interface GeneratePrimeOptionsBigInt extends GeneratePrimeOptions { bigint: true;}
export interface GeneratePrimeOptionsArrayBuffer extends GeneratePrimeOptions { bigint?: false | undefined;}
export function generatePrime( size: number, callback: (err: Error | null, prime: ArrayBuffer) => void,): void;export function generatePrime( size: number, options: GeneratePrimeOptionsBigInt, callback: (err: Error | null, prime: bigint) => void,): void;export function generatePrime( size: number, options: GeneratePrimeOptionsArrayBuffer, callback: (err: Error | null, prime: ArrayBuffer) => void,): void;export function generatePrime( size: number, options: GeneratePrimeOptions, callback: (err: Error | null, prime: ArrayBuffer | bigint) => void,): void;export function generatePrime( _size: number, _options?: unknown, _callback?: unknown,) { notImplemented("crypto.generatePrime");}
export function generatePrimeSync(size: number): ArrayBuffer;export function generatePrimeSync( size: number, options: GeneratePrimeOptionsBigInt,): bigint;export function generatePrimeSync( size: number, options: GeneratePrimeOptionsArrayBuffer,): ArrayBuffer;export function generatePrimeSync( size: number, options: GeneratePrimeOptions,): ArrayBuffer | bigint;export function generatePrimeSync( _size: number, _options?: | GeneratePrimeOptionsBigInt | GeneratePrimeOptionsArrayBuffer | GeneratePrimeOptions,): ArrayBuffer | bigint { notImplemented("crypto.generatePrimeSync");}
export const randomUUID = () => globalThis.crypto.randomUUID();
export default { checkPrime, checkPrimeSync, generatePrime, generatePrimeSync, randomUUID, randomInt, randomBytes, randomFill, randomFillSync,};