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 JournalLine4 = {};
export type JournalLineSourceValue = string | number | boolean | JournalLine4 | Array<any>;
/**
 * Type of account
 */
export declare enum JournalLineValue {
    Asset = "asset",
    Liability = "liability",
    Equity = "equity",
    Revenue = "revenue",
    Expense = "expense",
    UnmappedValue = "unmapped_value"
}
/**
 * Type of account
 */
export type JournalLineValueOpen = OpenEnum<typeof JournalLineValue>;
/**
 * Type of the account
 */
export type JournalLineAccountType = {
    sourceValue?: string | number | boolean | JournalLine4 | Array<any> | null | undefined;
    /**
     * Type of account
     */
    value?: JournalLineValueOpen | null | undefined;
};
export type JournalLineSchemas4 = {};
export type JournalLineSchemasSourceValue = string | number | boolean | JournalLineSchemas4 | Array<any>;
/**
 * Default currency for the company
 */
export declare enum JournalLineSchemasValue {
    Aed = "AED",
    Afn = "AFN",
    All = "ALL",
    Amd = "AMD",
    Ang = "ANG",
    Aoa = "AOA",
    Ars = "ARS",
    Aud = "AUD",
    Awg = "AWG",
    Azn = "AZN",
    Bam = "BAM",
    Bbd = "BBD",
    Bdt = "BDT",
    Bgn = "BGN",
    Bhd = "BHD",
    Bif = "BIF",
    Bmd = "BMD",
    Bnd = "BND",
    Bob = "BOB",
    Brl = "BRL",
    Bsd = "BSD",
    Btn = "BTN",
    Bwp = "BWP",
    Byn = "BYN",
    Bzd = "BZD",
    Cad = "CAD",
    Cdf = "CDF",
    Chf = "CHF",
    Clp = "CLP",
    Cny = "CNY",
    Cop = "COP",
    Crc = "CRC",
    Cuc = "CUC",
    Cup = "CUP",
    Cve = "CVE",
    Czk = "CZK",
    Djf = "DJF",
    Dkk = "DKK",
    Dop = "DOP",
    Dzd = "DZD",
    Egp = "EGP",
    Ern = "ERN",
    Etb = "ETB",
    Eur = "EUR",
    Fjd = "FJD",
    Fkp = "FKP",
    Gbp = "GBP",
    Gel = "GEL",
    Ghs = "GHS",
    Gip = "GIP",
    Gmd = "GMD",
    Gnf = "GNF",
    Gtq = "GTQ",
    Gyd = "GYD",
    Hkd = "HKD",
    Hnl = "HNL",
    Hrk = "HRK",
    Htg = "HTG",
    Huf = "HUF",
    Idr = "IDR",
    Ils = "ILS",
    Inr = "INR",
    Iqd = "IQD",
    Irr = "IRR",
    Isk = "ISK",
    Jmd = "JMD",
    Jod = "JOD",
    Jpy = "JPY",
    Kes = "KES",
    Kgs = "KGS",
    Khr = "KHR",
    Kmf = "KMF",
    Kpw = "KPW",
    Krw = "KRW",
    Kwd = "KWD",
    Kyd = "KYD",
    Kzt = "KZT",
    Lak = "LAK",
    Lbp = "LBP",
    Lkr = "LKR",
    Lrd = "LRD",
    Lsl = "LSL",
    Lyd = "LYD",
    Mad = "MAD",
    Mdl = "MDL",
    Mga = "MGA",
    Mkd = "MKD",
    Mmk = "MMK",
    Mnt = "MNT",
    Mop = "MOP",
    Mru = "MRU",
    Mur = "MUR",
    Mvr = "MVR",
    Mwk = "MWK",
    Mxn = "MXN",
    Myr = "MYR",
    Mzn = "MZN",
    Nad = "NAD",
    Ngn = "NGN",
    Nio = "NIO",
    Nok = "NOK",
    Npr = "NPR",
    Nzd = "NZD",
    Omr = "OMR",
    Pab = "PAB",
    Pen = "PEN",
    Pgk = "PGK",
    Php = "PHP",
    Pkr = "PKR",
    Pln = "PLN",
    Pyg = "PYG",
    Qar = "QAR",
    Ron = "RON",
    Rsd = "RSD",
    Rub = "RUB",
    Rwf = "RWF",
    Sar = "SAR",
    Sbd = "SBD",
    Scr = "SCR",
    Sdg = "SDG",
    Sek = "SEK",
    Sgd = "SGD",
    Shp = "SHP",
    Sll = "SLL",
    Sos = "SOS",
    Srd = "SRD",
    Ssp = "SSP",
    Stn = "STN",
    Syp = "SYP",
    Szl = "SZL",
    Thb = "THB",
    Tjs = "TJS",
    Tmt = "TMT",
    Tnd = "TND",
    Top = "TOP",
    Try = "TRY",
    Ttd = "TTD",
    Twd = "TWD",
    Tzs = "TZS",
    Uah = "UAH",
    Ugx = "UGX",
    Usd = "USD",
    Uyu = "UYU",
    Uzs = "UZS",
    Ves = "VES",
    Vnd = "VND",
    Vuv = "VUV",
    Wst = "WST",
    Xaf = "XAF",
    Xcd = "XCD",
    Xdr = "XDR",
    Xof = "XOF",
    Xpf = "XPF",
    Yer = "YER",
    Zar = "ZAR",
    Zmw = "ZMW",
    Zwl = "ZWL",
    UnmappedValue = "unmapped_value"
}
/**
 * Default currency for the company
 */
export type JournalLineSchemasValueOpen = OpenEnum<typeof JournalLineSchemasValue>;
/**
 * Currency code for this line
 */
export type JournalLineCurrencyCode = {
    sourceValue?: string | number | boolean | JournalLineSchemas4 | Array<any> | null | undefined;
    /**
     * Default currency for the company
     */
    value?: JournalLineSchemasValueOpen | null | undefined;
};
export type JournalLine = {
    /**
     * ID of the ledger account this line references
     */
    accountId?: string | null | undefined;
    /**
     * Type of the account
     */
    accountType?: JournalLineAccountType | null | undefined;
    /**
     * Amount of the journal line in minor units, e.g. 10010 for 100.10 USD. Positive for debit, negative for credit
     */
    amount?: number | null | undefined;
    /**
     * Currency code for this line
     */
    currencyCode?: JournalLineCurrencyCode | null | undefined;
    /**
     * Description of the journal line
     */
    description?: string | null | undefined;
    /**
     * Exchange rate to company base currency
     */
    exchangeRate?: number | null | undefined;
    /**
     * Unique identifier for the journal line
     */
    id?: string | null | undefined;
    /**
     * Tax amount of the line in minor units, e.g. 10010 for 100.10 USD
     */
    taxAmount?: number | null | undefined;
    /**
     * Tax rate percentage
     */
    taxRatePercentage?: number | null | undefined;
};
/** @internal */
export declare const JournalLine4$inboundSchema: z.ZodType<JournalLine4, z.ZodTypeDef, unknown>;
/** @internal */
export type JournalLine4$Outbound = {};
/** @internal */
export declare const JournalLine4$outboundSchema: z.ZodType<JournalLine4$Outbound, z.ZodTypeDef, JournalLine4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JournalLine4$ {
    /** @deprecated use `JournalLine4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JournalLine4, z.ZodTypeDef, unknown>;
    /** @deprecated use `JournalLine4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JournalLine4$Outbound, z.ZodTypeDef, JournalLine4>;
    /** @deprecated use `JournalLine4$Outbound` instead. */
    type Outbound = JournalLine4$Outbound;
}
export declare function journalLine4ToJSON(journalLine4: JournalLine4): string;
export declare function journalLine4FromJSON(jsonString: string): SafeParseResult<JournalLine4, SDKValidationError>;
/** @internal */
export declare const JournalLineSourceValue$inboundSchema: z.ZodType<JournalLineSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type JournalLineSourceValue$Outbound = string | number | boolean | JournalLine4$Outbound | Array<any>;
/** @internal */
export declare const JournalLineSourceValue$outboundSchema: z.ZodType<JournalLineSourceValue$Outbound, z.ZodTypeDef, JournalLineSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JournalLineSourceValue$ {
    /** @deprecated use `JournalLineSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JournalLineSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `JournalLineSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JournalLineSourceValue$Outbound, z.ZodTypeDef, JournalLineSourceValue>;
    /** @deprecated use `JournalLineSourceValue$Outbound` instead. */
    type Outbound = JournalLineSourceValue$Outbound;
}
export declare function journalLineSourceValueToJSON(journalLineSourceValue: JournalLineSourceValue): string;
export declare function journalLineSourceValueFromJSON(jsonString: string): SafeParseResult<JournalLineSourceValue, SDKValidationError>;
/** @internal */
export declare const JournalLineValue$inboundSchema: z.ZodType<JournalLineValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const JournalLineValue$outboundSchema: z.ZodType<JournalLineValueOpen, z.ZodTypeDef, JournalLineValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JournalLineValue$ {
    /** @deprecated use `JournalLineValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JournalLineValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `JournalLineValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JournalLineValueOpen, z.ZodTypeDef, JournalLineValueOpen>;
}
/** @internal */
export declare const JournalLineAccountType$inboundSchema: z.ZodType<JournalLineAccountType, z.ZodTypeDef, unknown>;
/** @internal */
export type JournalLineAccountType$Outbound = {
    source_value?: string | number | boolean | JournalLine4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const JournalLineAccountType$outboundSchema: z.ZodType<JournalLineAccountType$Outbound, z.ZodTypeDef, JournalLineAccountType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JournalLineAccountType$ {
    /** @deprecated use `JournalLineAccountType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JournalLineAccountType, z.ZodTypeDef, unknown>;
    /** @deprecated use `JournalLineAccountType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JournalLineAccountType$Outbound, z.ZodTypeDef, JournalLineAccountType>;
    /** @deprecated use `JournalLineAccountType$Outbound` instead. */
    type Outbound = JournalLineAccountType$Outbound;
}
export declare function journalLineAccountTypeToJSON(journalLineAccountType: JournalLineAccountType): string;
export declare function journalLineAccountTypeFromJSON(jsonString: string): SafeParseResult<JournalLineAccountType, SDKValidationError>;
/** @internal */
export declare const JournalLineSchemas4$inboundSchema: z.ZodType<JournalLineSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type JournalLineSchemas4$Outbound = {};
/** @internal */
export declare const JournalLineSchemas4$outboundSchema: z.ZodType<JournalLineSchemas4$Outbound, z.ZodTypeDef, JournalLineSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JournalLineSchemas4$ {
    /** @deprecated use `JournalLineSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JournalLineSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `JournalLineSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JournalLineSchemas4$Outbound, z.ZodTypeDef, JournalLineSchemas4>;
    /** @deprecated use `JournalLineSchemas4$Outbound` instead. */
    type Outbound = JournalLineSchemas4$Outbound;
}
export declare function journalLineSchemas4ToJSON(journalLineSchemas4: JournalLineSchemas4): string;
export declare function journalLineSchemas4FromJSON(jsonString: string): SafeParseResult<JournalLineSchemas4, SDKValidationError>;
/** @internal */
export declare const JournalLineSchemasSourceValue$inboundSchema: z.ZodType<JournalLineSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type JournalLineSchemasSourceValue$Outbound = string | number | boolean | JournalLineSchemas4$Outbound | Array<any>;
/** @internal */
export declare const JournalLineSchemasSourceValue$outboundSchema: z.ZodType<JournalLineSchemasSourceValue$Outbound, z.ZodTypeDef, JournalLineSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JournalLineSchemasSourceValue$ {
    /** @deprecated use `JournalLineSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JournalLineSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `JournalLineSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JournalLineSchemasSourceValue$Outbound, z.ZodTypeDef, JournalLineSchemasSourceValue>;
    /** @deprecated use `JournalLineSchemasSourceValue$Outbound` instead. */
    type Outbound = JournalLineSchemasSourceValue$Outbound;
}
export declare function journalLineSchemasSourceValueToJSON(journalLineSchemasSourceValue: JournalLineSchemasSourceValue): string;
export declare function journalLineSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<JournalLineSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const JournalLineSchemasValue$inboundSchema: z.ZodType<JournalLineSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const JournalLineSchemasValue$outboundSchema: z.ZodType<JournalLineSchemasValueOpen, z.ZodTypeDef, JournalLineSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JournalLineSchemasValue$ {
    /** @deprecated use `JournalLineSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JournalLineSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `JournalLineSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JournalLineSchemasValueOpen, z.ZodTypeDef, JournalLineSchemasValueOpen>;
}
/** @internal */
export declare const JournalLineCurrencyCode$inboundSchema: z.ZodType<JournalLineCurrencyCode, z.ZodTypeDef, unknown>;
/** @internal */
export type JournalLineCurrencyCode$Outbound = {
    source_value?: string | number | boolean | JournalLineSchemas4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const JournalLineCurrencyCode$outboundSchema: z.ZodType<JournalLineCurrencyCode$Outbound, z.ZodTypeDef, JournalLineCurrencyCode>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JournalLineCurrencyCode$ {
    /** @deprecated use `JournalLineCurrencyCode$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JournalLineCurrencyCode, z.ZodTypeDef, unknown>;
    /** @deprecated use `JournalLineCurrencyCode$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JournalLineCurrencyCode$Outbound, z.ZodTypeDef, JournalLineCurrencyCode>;
    /** @deprecated use `JournalLineCurrencyCode$Outbound` instead. */
    type Outbound = JournalLineCurrencyCode$Outbound;
}
export declare function journalLineCurrencyCodeToJSON(journalLineCurrencyCode: JournalLineCurrencyCode): string;
export declare function journalLineCurrencyCodeFromJSON(jsonString: string): SafeParseResult<JournalLineCurrencyCode, SDKValidationError>;
/** @internal */
export declare const JournalLine$inboundSchema: z.ZodType<JournalLine, z.ZodTypeDef, unknown>;
/** @internal */
export type JournalLine$Outbound = {
    account_id?: string | null | undefined;
    account_type?: JournalLineAccountType$Outbound | null | undefined;
    amount?: number | null | undefined;
    currency_code?: JournalLineCurrencyCode$Outbound | null | undefined;
    description?: string | null | undefined;
    exchange_rate?: number | null | undefined;
    id?: string | null | undefined;
    tax_amount?: number | null | undefined;
    tax_rate_percentage?: number | null | undefined;
};
/** @internal */
export declare const JournalLine$outboundSchema: z.ZodType<JournalLine$Outbound, z.ZodTypeDef, JournalLine>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace JournalLine$ {
    /** @deprecated use `JournalLine$inboundSchema` instead. */
    const inboundSchema: z.ZodType<JournalLine, z.ZodTypeDef, unknown>;
    /** @deprecated use `JournalLine$outboundSchema` instead. */
    const outboundSchema: z.ZodType<JournalLine$Outbound, z.ZodTypeDef, JournalLine>;
    /** @deprecated use `JournalLine$Outbound` instead. */
    type Outbound = JournalLine$Outbound;
}
export declare function journalLineToJSON(journalLine: JournalLine): string;
export declare function journalLineFromJSON(jsonString: string): SafeParseResult<JournalLine, SDKValidationError>;
//# sourceMappingURL=journalline.d.ts.map