import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Address } from "./address.js";
import { CustomerType } from "./customertype.js";
import { MetadataOutputType } from "./metadataoutputtype.js";
import { TaxIDFormat } from "./taxidformat.js";
export type LicenseKeyCustomerTaxId = string | TaxIDFormat;
export type LicenseKeyCustomer = {
    /**
     * The ID of the customer.
     */
    id: string;
    /**
     * Creation timestamp of the object.
     */
    createdAt: Date;
    /**
     * Last modification timestamp of the object.
     */
    modifiedAt: Date | null;
    metadata: {
        [k: string]: MetadataOutputType;
    };
    /**
     * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.
     */
    externalId?: string | null | undefined;
    /**
     * The email address of the customer. This must be unique within the organization.
     */
    email?: string | null | undefined;
    /**
     * Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address.
     */
    emailVerified: boolean;
    type: CustomerType;
    /**
     * The name of the customer.
     */
    name: string | null;
    /**
     * The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set.
     */
    billingName: string | null;
    billingAddress: Address | null;
    taxId: Array<string | TaxIDFormat | null> | null;
    locale?: string | null | undefined;
    /**
     * The ID of the organization owning the customer.
     */
    organizationId: string;
    /**
     * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details.
     */
    defaultPaymentMethodId?: string | null | undefined;
    /**
     * Timestamp for when the customer was soft deleted.
     */
    deletedAt: Date | null;
    avatarUrl: string | null;
};
/** @internal */
export declare const LicenseKeyCustomerTaxId$inboundSchema: z.ZodMiniType<LicenseKeyCustomerTaxId, unknown>;
export declare function licenseKeyCustomerTaxIdFromJSON(jsonString: string): SafeParseResult<LicenseKeyCustomerTaxId, SDKValidationError>;
/** @internal */
export declare const LicenseKeyCustomer$inboundSchema: z.ZodMiniType<LicenseKeyCustomer, unknown>;
export declare function licenseKeyCustomerFromJSON(jsonString: string): SafeParseResult<LicenseKeyCustomer, SDKValidationError>;
//# sourceMappingURL=licensekeycustomer.d.ts.map