<commit_before>import { CountryISO, PickPartialRequired, SecureMode, Timestamp } from "../types";
import { entityBase } from "./entityBase";
import { billing } from "./billing";
import { base } from "../base";
import { money } from "./money";
import { securityInfo } from "./securityInfo";
import { shipping } from "./shipping";

export namespace cardPreAuthorization {
    import BillingData = billing.BillingData;
    import BrowserInfoData = base.BrowserInfoData;
    import MoneyData = money.MoneyData;
    import SecurityInfoData = securityInfo.SecurityInfoData;
    import ShippingData = shipping.ShippingData;

    type PreAuthorizationExecutionType = "DIRECT";

    type PaymentStatus = "WAITING" | "CANCELED" | "EXPIRED" | "VALIDATED";

    type PreAuthorizationStatus = "CREATED" | "SUCCEEDED" | "FAILED";

    type CreateCardPreAuthorization = PickPartialRequired<CardPreAuthorizationData,
        "Tag" | "Billing" | "SecureMode" | "Culture" | "StatementDescriptor" | "Shipping", "AuthorId" | "DebitedFunds" | "CardId" | "SecureModeReturnURL" | "IpAddress" | "BrowserInfo">;

    type UpdateCardPreAuthorization = PickPartialRequired<CardPreAuthorizationData,
        "Tag",
        "PaymentStatus" | "Id">;

    interface CardPreAuthorizationData extends entityBase.EntityBaseData {
        /**
         * A user's ID
         */
        AuthorId: string;

        /**
         * Information about the funds that are being debited
         */
        DebitedFunds: MoneyData;

        /**
         * Status of the PreAuthorization
         */
        Status: PreAuthorizationStatus;

        /**<commit_msg>added missing RemainingFunds property to CardPreauthorizationData<commit_after>import { CountryISO, PickPartialRequired, SecureMode, Timestamp } from "../types";
import { entityBase } from "./entityBase";
import { billing } from "./billing";
import { base } from "../base";
import { money } from "./money";
import { securityInfo } from "./securityInfo";
import { shipping } from "./shipping";

export namespace cardPreAuthorization {
    import BillingData = billing.BillingData;
    import BrowserInfoData = base.BrowserInfoData;
    import MoneyData = money.MoneyData;
    import SecurityInfoData = securityInfo.SecurityInfoData;
    import ShippingData = shipping.ShippingData;

    type PreAuthorizationExecutionType = "DIRECT";

    type PaymentStatus = "WAITING" | "CANCELED" | "EXPIRED" | "VALIDATED";

    type PreAuthorizationStatus = "CREATED" | "SUCCEEDED" | "FAILED";

    type CreateCardPreAuthorization = PickPartialRequired<CardPreAuthorizationData,
        "Tag" | "Billing" | "SecureMode" | "Culture" | "StatementDescriptor" | "Shipping", "AuthorId" | "DebitedFunds" | "CardId" | "SecureModeReturnURL" | "IpAddress" | "BrowserInfo">;

    type UpdateCardPreAuthorization = PickPartialRequired<CardPreAuthorizationData,
        "Tag",
        "PaymentStatus" | "Id">;

    interface CardPreAuthorizationData extends entityBase.EntityBaseData {
        /**
         * A user's ID
         */
        AuthorId: string;

        /**
         * Information about the funds that are being debited
         */
        DebitedFunds: MoneyData;

        /**
         * Value of the funds remaining on a pre-authorization
         */
        RemainingFunds: MoneyData;

        /**
         * Status of the PreAuthorization
         */
        Status: PreAuthorizationStatus;

        /**
{'fraction_non_alphanumeric': 0.10980966325036604, 'fraction_numerical': 0.0, 'mean_word_length': 3.2120838471023427, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2876614', 'n_tokens_mistral': 930, 'n_tokens_neox': 908, 'n_words': 233}