import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type ClearingCode4 = {};
export type ClearingCodeSourceValue = string | number | boolean | ClearingCode4 | Array<any>;
/**
 * The type of clearing code
 */
export declare enum ClearingCodeValue {
    SortCode = "sort_code",
    BuildingSocietyReference = "building_society_reference",
    AbaRouting = "aba_routing",
    ChipsParticipantId = "chips_participant_id",
    TransitNumber = "transit_number",
    InstitutionNumber = "institution_number",
    BsbCode = "bsb_code",
    IfscCode = "ifsc_code",
    MicrCode = "micr_code",
    Clabe = "clabe",
    CnapsCode = "cnaps_code",
    ChBankClearingCode = "ch_bank_clearing_code",
    ChSicCode = "ch_sic_code",
    ZenginCode = "zengin_code",
    NzClearingCode = "nz_clearing_code",
    HkBankCode = "hk_bank_code",
    Blz = "blz",
    AtBankleitzahl = "at_bankleitzahl",
    Nuban = "nuban",
    SeBankgiroCode = "se_bankgiro_code",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of clearing code
 */
export type ClearingCodeValueOpen = OpenEnum<typeof ClearingCodeValue>;
/**
 * The type of clearing code
 */
export type ClearingCodeType = {
    sourceValue?: string | number | boolean | ClearingCode4 | Array<any> | null | undefined;
    /**
     * The type of clearing code
     */
    value?: ClearingCodeValueOpen | null | undefined;
};
export type ClearingCode = {
    /**
     * The type of clearing code
     */
    type?: ClearingCodeType | null | undefined;
    /**
     * The clearing code value
     */
    value?: string | null | undefined;
};
/** @internal */
export declare const ClearingCode4$inboundSchema: z.ZodType<ClearingCode4, z.ZodTypeDef, unknown>;
/** @internal */
export type ClearingCode4$Outbound = {};
/** @internal */
export declare const ClearingCode4$outboundSchema: z.ZodType<ClearingCode4$Outbound, z.ZodTypeDef, ClearingCode4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ClearingCode4$ {
    /** @deprecated use `ClearingCode4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ClearingCode4, z.ZodTypeDef, unknown>;
    /** @deprecated use `ClearingCode4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ClearingCode4$Outbound, z.ZodTypeDef, ClearingCode4>;
    /** @deprecated use `ClearingCode4$Outbound` instead. */
    type Outbound = ClearingCode4$Outbound;
}
export declare function clearingCode4ToJSON(clearingCode4: ClearingCode4): string;
export declare function clearingCode4FromJSON(jsonString: string): SafeParseResult<ClearingCode4, SDKValidationError>;
/** @internal */
export declare const ClearingCodeSourceValue$inboundSchema: z.ZodType<ClearingCodeSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type ClearingCodeSourceValue$Outbound = string | number | boolean | ClearingCode4$Outbound | Array<any>;
/** @internal */
export declare const ClearingCodeSourceValue$outboundSchema: z.ZodType<ClearingCodeSourceValue$Outbound, z.ZodTypeDef, ClearingCodeSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ClearingCodeSourceValue$ {
    /** @deprecated use `ClearingCodeSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ClearingCodeSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `ClearingCodeSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ClearingCodeSourceValue$Outbound, z.ZodTypeDef, ClearingCodeSourceValue>;
    /** @deprecated use `ClearingCodeSourceValue$Outbound` instead. */
    type Outbound = ClearingCodeSourceValue$Outbound;
}
export declare function clearingCodeSourceValueToJSON(clearingCodeSourceValue: ClearingCodeSourceValue): string;
export declare function clearingCodeSourceValueFromJSON(jsonString: string): SafeParseResult<ClearingCodeSourceValue, SDKValidationError>;
/** @internal */
export declare const ClearingCodeValue$inboundSchema: z.ZodType<ClearingCodeValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const ClearingCodeValue$outboundSchema: z.ZodType<ClearingCodeValueOpen, z.ZodTypeDef, ClearingCodeValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ClearingCodeValue$ {
    /** @deprecated use `ClearingCodeValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ClearingCodeValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `ClearingCodeValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ClearingCodeValueOpen, z.ZodTypeDef, ClearingCodeValueOpen>;
}
/** @internal */
export declare const ClearingCodeType$inboundSchema: z.ZodType<ClearingCodeType, z.ZodTypeDef, unknown>;
/** @internal */
export type ClearingCodeType$Outbound = {
    source_value?: string | number | boolean | ClearingCode4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const ClearingCodeType$outboundSchema: z.ZodType<ClearingCodeType$Outbound, z.ZodTypeDef, ClearingCodeType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ClearingCodeType$ {
    /** @deprecated use `ClearingCodeType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ClearingCodeType, z.ZodTypeDef, unknown>;
    /** @deprecated use `ClearingCodeType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ClearingCodeType$Outbound, z.ZodTypeDef, ClearingCodeType>;
    /** @deprecated use `ClearingCodeType$Outbound` instead. */
    type Outbound = ClearingCodeType$Outbound;
}
export declare function clearingCodeTypeToJSON(clearingCodeType: ClearingCodeType): string;
export declare function clearingCodeTypeFromJSON(jsonString: string): SafeParseResult<ClearingCodeType, SDKValidationError>;
/** @internal */
export declare const ClearingCode$inboundSchema: z.ZodType<ClearingCode, z.ZodTypeDef, unknown>;
/** @internal */
export type ClearingCode$Outbound = {
    type?: ClearingCodeType$Outbound | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const ClearingCode$outboundSchema: z.ZodType<ClearingCode$Outbound, z.ZodTypeDef, ClearingCode>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ClearingCode$ {
    /** @deprecated use `ClearingCode$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ClearingCode, z.ZodTypeDef, unknown>;
    /** @deprecated use `ClearingCode$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ClearingCode$Outbound, z.ZodTypeDef, ClearingCode>;
    /** @deprecated use `ClearingCode$Outbound` instead. */
    type Outbound = ClearingCode$Outbound;
}
export declare function clearingCodeToJSON(clearingCode: ClearingCode): string;
export declare function clearingCodeFromJSON(jsonString: string): SafeParseResult<ClearingCode, SDKValidationError>;
//# sourceMappingURL=clearingcode.d.ts.map