import { z } from 'zod';
/**
 * D120 - Payment/receipt record
 * Fields 1300-1324 based on SHAAM 1.31 specification
 */
export declare const D120Schema: z.ZodObject<{
    code: z.ZodLiteral<"D120">;
    recordNumber: z.ZodString;
    vatId: z.ZodString;
    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";
    }>;
    documentNumber: z.ZodString;
    lineNumber: z.ZodString;
    paymentMethod: z.ZodString;
    bankNumber: z.ZodDefault<z.ZodString>;
    branchNumber: z.ZodDefault<z.ZodString>;
    accountNumber: z.ZodDefault<z.ZodString>;
    checkNumber: z.ZodDefault<z.ZodString>;
    paymentDueDate: z.ZodDefault<z.ZodString>;
    lineAmount: z.ZodString;
    acquirerCode: z.ZodDefault<z.ZodString>;
    cardBrand: z.ZodDefault<z.ZodString>;
    creditTransactionType: z.ZodDefault<z.ZodString>;
    firstPaymentAmount: z.ZodDefault<z.ZodString>;
    installmentsCount: z.ZodDefault<z.ZodString>;
    additionalPaymentAmount: z.ZodDefault<z.ZodString>;
    reserved1: z.ZodDefault<z.ZodString>;
    branchId: z.ZodDefault<z.ZodString>;
    reserved2: z.ZodDefault<z.ZodString>;
    documentDate: z.ZodString;
    headerLinkField: z.ZodDefault<z.ZodString>;
    reserved: z.ZodDefault<z.ZodString>;
}, z.core.$strip>;
export type D120 = z.infer<typeof D120Schema>;
/**
 * Encodes a D120 record to fixed-width string format
 * Total line width: 222 characters + CRLF (4+9+9+3+20+4+1+10+10+15+10+8+15+1+20+1+0+0+0+0+7+0+8+7+60)
 */
export declare function encodeD120(input: D120): string;
/**
 * Parses a fixed-width D120 record line back to object
 * Expected line length: 222 characters (excluding CRLF)
 */
export declare function parseD120(line: string): D120;
