/**
 * SHAAM Uniform Format Enums and Code Tables
 * Based on SHAAM specification version 1.31
 */
import { z } from 'zod';
/**
 * SHAAM Record Type Codes
 * Used to identify the type of each record in the format
 */
export declare const RecordTypeEnum: z.ZodEnum<{
    A000: "A000";
    A100: "A100";
    B100: "B100";
    B110: "B110";
    C100: "C100";
    D110: "D110";
    D120: "D120";
    M100: "M100";
    Z900: "Z900";
}>;
export type RecordType = z.infer<typeof RecordTypeEnum>;
/**
 * Document Type Enum for SHAAM format
 * Based on Appendix 1 of the SHAAM specification
 */
export declare const DocumentTypeEnum: z.ZodEnum<{
    100: "100";
    200: "200";
    210: "210";
    300: "300";
    305: "305";
    320: "320";
    325: "325";
    330: "330";
    340: "340";
    400: "400";
    410: "410";
    420: "420";
    430: "430";
    500: "500";
    600: "600";
    700: "700";
    710: "710";
}>;
export type DocumentType = z.infer<typeof DocumentTypeEnum>;
/**
 * Document Type Labels in Hebrew
 */
export declare const DocumentTypeLabels: Record<DocumentType, string>;
/**
 * Document Type Labels in English
 */
export declare const DocumentTypeLabelsEn: Record<DocumentType, string>;
/**
 * Currency Code Enum for SHAAM format
 * Based on Appendix 2 of the SHAAM specification
 * Using ISO 4217 currency codes
 */
export declare const CurrencyCodeEnum: z.ZodEnum<{
    AUD: "AUD";
    CAD: "CAD";
    EUR: "EUR";
    GBP: "GBP";
    ILS: "ILS";
    JPY: "JPY";
    SEK: "SEK";
    USD: "USD";
    CHF: "CHF";
    CNY: "CNY";
    RUB: "RUB";
    BRL: "BRL";
    HKD: "HKD";
    SGD: "SGD";
    THB: "THB";
    MXN: "MXN";
    TRY: "TRY";
    NZD: "NZD";
    NOK: "NOK";
    DKK: "DKK";
    KRW: "KRW";
    INR: "INR";
    PLN: "PLN";
    ZAR: "ZAR";
    CZK: "CZK";
    HUF: "HUF";
}>;
export type CurrencyCode = z.infer<typeof CurrencyCodeEnum>;
/**
 * Currency Labels in Hebrew
 */
export declare const CurrencyLabels: Record<CurrencyCode, string>;
/**
 * Software Type (Field 1011)
 * Type of accounting software
 */
export declare const SoftwareTypeEnum: z.ZodEnum<{
    1: "1";
    2: "2";
}>;
export type SoftwareType = z.infer<typeof SoftwareTypeEnum>;
export declare const SoftwareTypeLabels: Record<SoftwareType, string>;
/**
 * Accounting Type (Field 1013)
 * Type of bookkeeping system
 */
export declare const AccountingTypeEnum: z.ZodEnum<{
    0: "0";
    1: "1";
    2: "2";
}>;
export type AccountingType = z.infer<typeof AccountingTypeEnum>;
export declare const AccountingTypeLabels: Record<AccountingType, string>;
/**
 * Balance Required Flag (Field 1014)
 * Whether balance verification is required
 */
export declare const BalanceRequiredEnum: z.ZodEnum<{
    0: "0";
    1: "1";
}>;
export type BalanceRequired = z.infer<typeof BalanceRequiredEnum>;
export declare const BalanceRequiredLabels: Record<BalanceRequired, string>;
/**
 * Language Code (Field 1031)
 * Language used in the report
 */
export declare const LanguageCodeEnum: z.ZodEnum<{
    0: "0";
    1: "1";
    2: "2";
}>;
export type LanguageCode = z.infer<typeof LanguageCodeEnum>;
export declare const LanguageCodeLabels: Record<LanguageCode, string>;
/**
 * Character Encoding (Field 1032)
 * Character encoding used in the file
 */
export declare const CharacterEncodingEnum: z.ZodEnum<{
    1: "1";
    2: "2";
}>;
export type CharacterEncoding = z.infer<typeof CharacterEncodingEnum>;
export declare const CharacterEncodingLabels: Record<CharacterEncoding, string>;
/**
 * Branch Info Flag (Field 1034)
 * Whether the business has branches
 */
export declare const BranchInfoFlagEnum: z.ZodEnum<{
    0: "0";
    1: "1";
}>;
export type BranchInfoFlag = z.infer<typeof BranchInfoFlagEnum>;
export declare const BranchInfoFlagLabels: Record<BranchInfoFlag, string>;
/**
 * Debit/Credit Indicator (Field 1366)
 * Whether the transaction is a debit or credit
 */
export declare const DebitCreditIndicatorEnum: z.ZodEnum<{
    1: "1";
    2: "2";
}>;
export type DebitCreditIndicator = z.infer<typeof DebitCreditIndicatorEnum>;
export declare const DebitCreditIndicatorLabels: Record<DebitCreditIndicator, string>;
/**
 * Payment Method Codes
 * Common payment methods used in D120 records
 */
export declare const PaymentMethodEnum: z.ZodEnum<{
    1: "1";
    2: "2";
    3: "3";
    4: "4";
    5: "5";
    6: "6";
}>;
export type PaymentMethod = z.infer<typeof PaymentMethodEnum>;
export declare const PaymentMethodLabels: Record<PaymentMethod, string>;
/**
 * Trial Balance Codes
 * Common account types used in chart of accounts
 */
export declare const TrialBalanceCodeEnum: z.ZodEnum<{
    Other: "Other";
    Asset: "Asset";
    Liability: "Liability";
    Equity: "Equity";
    Revenue: "Revenue";
    Expense: "Expense";
}>;
export type TrialBalanceCode = z.infer<typeof TrialBalanceCodeEnum>;
export declare const TrialBalanceCodeLabels: Record<TrialBalanceCode, string>;
/**
 * Country Codes (ISO 3166-1 alpha-2)
 * Used for addresses and international transactions
 */
export declare const CountryCodeEnum: z.ZodEnum<{
    ID: "ID";
    AT: "AT";
    AU: "AU";
    UA: "UA";
    AE: "AE";
    IT: "IT";
    IE: "IE";
    EE: "EE";
    AR: "AR";
    US: "US";
    BG: "BG";
    BE: "BE";
    BR: "BR";
    GB: "GB";
    DE: "DE";
    DK: "DK";
    ZA: "ZA";
    KR: "KR";
    IN: "IN";
    NL: "NL";
    HK: "HK";
    HU: "HU";
    PH: "PH";
    VN: "VN";
    TR: "TR";
    GR: "GR";
    JP: "JP";
    IL: "IL";
    LU: "LU";
    LV: "LV";
    LT: "LT";
    MY: "MY";
    MT: "MT";
    EG: "EG";
    MX: "MX";
    NO: "NO";
    NZ: "NZ";
    CN: "CN";
    SG: "SG";
    SI: "SI";
    SK: "SK";
    SA: "SA";
    ES: "ES";
    PL: "PL";
    PT: "PT";
    FI: "FI";
    CL: "CL";
    CZ: "CZ";
    FR: "FR";
    CA: "CA";
    CY: "CY";
    HR: "HR";
    RO: "RO";
    RU: "RU";
    SE: "SE";
    CH: "CH";
    TH: "TH";
}>;
export type CountryCode = z.infer<typeof CountryCodeEnum>;
/**
 * Country Labels in Hebrew
 */
export declare const CountryLabels: Record<CountryCode, string>;
/**
 * All available enums as a union for type checking
 */
export type ShaamEnum = RecordType | DocumentType | CurrencyCode | SoftwareType | AccountingType | BalanceRequired | LanguageCode | CharacterEncoding | BranchInfoFlag | DebitCreditIndicator | PaymentMethod | TrialBalanceCode | CountryCode;
/**
 * Enum validation schemas for use in other parts of the application
 */
export declare const ShaamEnumSchemas: {
    readonly RecordType: z.ZodEnum<{
        A000: "A000";
        A100: "A100";
        B100: "B100";
        B110: "B110";
        C100: "C100";
        D110: "D110";
        D120: "D120";
        M100: "M100";
        Z900: "Z900";
    }>;
    readonly DocumentType: z.ZodEnum<{
        100: "100";
        200: "200";
        210: "210";
        300: "300";
        305: "305";
        320: "320";
        325: "325";
        330: "330";
        340: "340";
        400: "400";
        410: "410";
        420: "420";
        430: "430";
        500: "500";
        600: "600";
        700: "700";
        710: "710";
    }>;
    readonly CurrencyCode: z.ZodEnum<{
        AUD: "AUD";
        CAD: "CAD";
        EUR: "EUR";
        GBP: "GBP";
        ILS: "ILS";
        JPY: "JPY";
        SEK: "SEK";
        USD: "USD";
        CHF: "CHF";
        CNY: "CNY";
        RUB: "RUB";
        BRL: "BRL";
        HKD: "HKD";
        SGD: "SGD";
        THB: "THB";
        MXN: "MXN";
        TRY: "TRY";
        NZD: "NZD";
        NOK: "NOK";
        DKK: "DKK";
        KRW: "KRW";
        INR: "INR";
        PLN: "PLN";
        ZAR: "ZAR";
        CZK: "CZK";
        HUF: "HUF";
    }>;
    readonly SoftwareType: z.ZodEnum<{
        1: "1";
        2: "2";
    }>;
    readonly AccountingType: z.ZodEnum<{
        0: "0";
        1: "1";
        2: "2";
    }>;
    readonly BalanceRequired: z.ZodEnum<{
        0: "0";
        1: "1";
    }>;
    readonly LanguageCode: z.ZodEnum<{
        0: "0";
        1: "1";
        2: "2";
    }>;
    readonly CharacterEncoding: z.ZodEnum<{
        1: "1";
        2: "2";
    }>;
    readonly BranchInfoFlag: z.ZodEnum<{
        0: "0";
        1: "1";
    }>;
    readonly DebitCreditIndicator: z.ZodEnum<{
        1: "1";
        2: "2";
    }>;
    readonly PaymentMethod: z.ZodEnum<{
        1: "1";
        2: "2";
        3: "3";
        4: "4";
        5: "5";
        6: "6";
    }>;
    readonly TrialBalanceCode: z.ZodEnum<{
        Other: "Other";
        Asset: "Asset";
        Liability: "Liability";
        Equity: "Equity";
        Revenue: "Revenue";
        Expense: "Expense";
    }>;
    readonly CountryCode: z.ZodEnum<{
        ID: "ID";
        AT: "AT";
        AU: "AU";
        UA: "UA";
        AE: "AE";
        IT: "IT";
        IE: "IE";
        EE: "EE";
        AR: "AR";
        US: "US";
        BG: "BG";
        BE: "BE";
        BR: "BR";
        GB: "GB";
        DE: "DE";
        DK: "DK";
        ZA: "ZA";
        KR: "KR";
        IN: "IN";
        NL: "NL";
        HK: "HK";
        HU: "HU";
        PH: "PH";
        VN: "VN";
        TR: "TR";
        GR: "GR";
        JP: "JP";
        IL: "IL";
        LU: "LU";
        LV: "LV";
        LT: "LT";
        MY: "MY";
        MT: "MT";
        EG: "EG";
        MX: "MX";
        NO: "NO";
        NZ: "NZ";
        CN: "CN";
        SG: "SG";
        SI: "SI";
        SK: "SK";
        SA: "SA";
        ES: "ES";
        PL: "PL";
        PT: "PT";
        FI: "FI";
        CL: "CL";
        CZ: "CZ";
        FR: "FR";
        CA: "CA";
        CY: "CY";
        HR: "HR";
        RO: "RO";
        RU: "RU";
        SE: "SE";
        CH: "CH";
        TH: "TH";
    }>;
};
/**
 * All label mappings for easy lookup
 */
export declare const ShaamLabels: {
    readonly DocumentType: Record<"100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710", string>;
    readonly DocumentTypeEn: Record<"100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710", string>;
    readonly Currency: Record<"AUD" | "CAD" | "EUR" | "GBP" | "ILS" | "JPY" | "SEK" | "USD" | "CHF" | "CNY" | "RUB" | "BRL" | "HKD" | "SGD" | "THB" | "MXN" | "TRY" | "NZD" | "NOK" | "DKK" | "KRW" | "INR" | "PLN" | "ZAR" | "CZK" | "HUF", string>;
    readonly SoftwareType: Record<"1" | "2", string>;
    readonly AccountingType: Record<"0" | "1" | "2", string>;
    readonly BalanceRequired: Record<"0" | "1", string>;
    readonly LanguageCode: Record<"0" | "1" | "2", string>;
    readonly CharacterEncoding: Record<"1" | "2", string>;
    readonly BranchInfoFlag: Record<"0" | "1", string>;
    readonly DebitCreditIndicator: Record<"1" | "2", string>;
    readonly PaymentMethod: Record<"1" | "2" | "3" | "4" | "5" | "6", string>;
    readonly TrialBalanceCode: Record<"Other" | "Asset" | "Liability" | "Equity" | "Revenue" | "Expense", string>;
    readonly Country: Record<"ID" | "AT" | "AU" | "UA" | "AE" | "IT" | "IE" | "EE" | "AR" | "US" | "BG" | "BE" | "BR" | "GB" | "DE" | "DK" | "ZA" | "KR" | "IN" | "NL" | "HK" | "HU" | "PH" | "VN" | "TR" | "GR" | "JP" | "IL" | "LU" | "LV" | "LT" | "MY" | "MT" | "EG" | "MX" | "NO" | "NZ" | "CN" | "SG" | "SI" | "SK" | "SA" | "ES" | "PL" | "PT" | "FI" | "CL" | "CZ" | "FR" | "CA" | "CY" | "HR" | "RO" | "RU" | "SE" | "CH" | "TH", string>;
};
/**
 * SHAAM System Constants
 */
export declare const SHAAM_CONSTANTS: {
    readonly VERSION: "&OF1.31&";
    readonly DEFAULT_CURRENCY: CurrencyCode;
    readonly DEFAULT_LANGUAGE: LanguageCode;
    readonly DEFAULT_ENCODING: CharacterEncoding;
    readonly DEFAULT_SOFTWARE_TYPE: SoftwareType;
    readonly DEFAULT_ACCOUNTING_TYPE: AccountingType;
    readonly DEFAULT_BALANCE_REQUIRED: BalanceRequired;
    readonly DEFAULT_BRANCH_INFO: BranchInfoFlag;
};
