import { cryptly } from "cryptly"; import { gracely } from "gracely"; import { isoly } from "isoly"; import { zod } from "../zod"; export interface Password { hash: cryptly.Password.Hash; changed: isoly.DateTime; } export declare namespace Password { type Creatable = zod.infer; namespace Creatable { const typeZod: zod.ZodObject<{ current: zod.ZodOptional; new: zod.ZodString; repeat: zod.ZodString; }, zod.z.core.$strip>; const type: import("isly/dist/cjs/object").IslyObject<{ new: string; repeat: string; current?: string | undefined; }, object>; } function create(creatable: Creatable, pepper: string | undefined): Promise; function salt(): string; function hash(password: string, pepper: string): Promise; function verify(password: string, hash: cryptly.Password.Hash, pepper: string): Promise; }