import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Address, Address$Outbound } from "./address.js";
export type Identity = {
addresses?: Array
| undefined;
/**
* Prove’s tiered confidence metric, ranging from -1 to 3, that dynamically adapts to user behavior and various authentication keys. It allows for adaptive security policies, meaning you can require different levels of verification for different types of transactions.
*/
assuranceLevel: string;
/**
* The unique ID that we generate for the identity.
*/
clientHumanId?: string | undefined;
/**
* TODO: comments and validation
*/
dateOfBirth?: string | undefined;
emails?: Array | undefined;
/**
* The first name of the identity.
*/
firstName?: string | undefined;
/**
* The last name of the identity.
*/
lastName?: string | undefined;
maxAge?: number | undefined;
minAge?: number | undefined;
nationalId?: string | undefined;
/**
* Codes explaining the verification outcome
*/
reasons: Array;
};
/** @internal */
export declare const Identity$inboundSchema: z.ZodType;
/** @internal */
export type Identity$Outbound = {
addresses?: Array | undefined;
assuranceLevel: string;
clientHumanId?: string | undefined;
dateOfBirth?: string | undefined;
emails?: Array | undefined;
firstName?: string | undefined;
lastName?: string | undefined;
maxAge?: number | undefined;
minAge?: number | undefined;
nationalId?: string | undefined;
reasons: Array;
};
/** @internal */
export declare const Identity$outboundSchema: z.ZodType;
/**
* @internal
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
*/
export declare namespace Identity$ {
/** @deprecated use `Identity$inboundSchema` instead. */
const inboundSchema: z.ZodType;
/** @deprecated use `Identity$outboundSchema` instead. */
const outboundSchema: z.ZodType;
/** @deprecated use `Identity$Outbound` instead. */
type Outbound = Identity$Outbound;
}
export declare function identityToJSON(identity: Identity): string;
export declare function identityFromJSON(jsonString: string): SafeParseResult;
//# sourceMappingURL=identity.d.ts.map