import { z } from 'zod';
import { AssociatedDocumentType } from '../../data/associatedDocumentTypes.table';
import { ConstancyType } from '../../data/constancyTypes.table';
import { PrintedDocumentType } from '../../data/printedDocumentTypes.table';
/**H. Campos que identifican al documento asociado (H001-H049) */
export declare const DocumentoAsociadoSchema: z.ZodEffects<z.ZodObject<{
    formato: z.ZodNativeEnum<typeof AssociatedDocumentType>;
    cdc: z.ZodOptional<z.ZodString>;
    timbrado: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
    establecimiento: z.ZodOptional<z.ZodEffects<z.ZodNumber, string, number>>;
    punto: z.ZodOptional<z.ZodEffects<z.ZodNumber, string, number>>;
    numero: z.ZodOptional<z.ZodEffects<z.ZodNumber, string, number>>;
    tipoDocumentoImpreso: z.ZodOptional<z.ZodNativeEnum<typeof PrintedDocumentType>>;
    fecha: z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>;
    numeroRetencion: z.ZodOptional<z.ZodString>;
    resolucionCreditoFiscal: z.ZodOptional<z.ZodString>;
    constanciaTipo: z.ZodOptional<z.ZodNativeEnum<typeof ConstancyType>>;
    constanciaNumero: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
    constanciaControl: z.ZodOptional<z.ZodString>;
    rucFusionado: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    formato: AssociatedDocumentType;
    numero?: string | undefined;
    fecha?: string | undefined;
    cdc?: string | undefined;
    timbrado?: number | undefined;
    establecimiento?: string | undefined;
    punto?: string | undefined;
    tipoDocumentoImpreso?: PrintedDocumentType | undefined;
    numeroRetencion?: string | undefined;
    resolucionCreditoFiscal?: string | undefined;
    constanciaTipo?: ConstancyType | undefined;
    constanciaNumero?: number | undefined;
    constanciaControl?: string | undefined;
    rucFusionado?: string | undefined;
}, {
    formato: AssociatedDocumentType;
    numero?: number | undefined;
    fecha?: Date | undefined;
    cdc?: string | undefined;
    timbrado?: number | undefined;
    establecimiento?: number | undefined;
    punto?: number | undefined;
    tipoDocumentoImpreso?: PrintedDocumentType | undefined;
    numeroRetencion?: string | undefined;
    resolucionCreditoFiscal?: string | undefined;
    constanciaTipo?: ConstancyType | undefined;
    constanciaNumero?: number | undefined;
    constanciaControl?: string | undefined;
    rucFusionado?: string | undefined;
}>, {
    formatoDescripcion: string;
    tipoDocumentoImpresoDescripcion: string | undefined;
    constanciaTipoDescripcion: string | undefined;
    formato: AssociatedDocumentType;
    numero?: string | undefined;
    fecha?: string | undefined;
    cdc?: string | undefined;
    timbrado?: number | undefined;
    establecimiento?: string | undefined;
    punto?: string | undefined;
    tipoDocumentoImpreso?: PrintedDocumentType | undefined;
    numeroRetencion?: string | undefined;
    resolucionCreditoFiscal?: string | undefined;
    constanciaTipo?: ConstancyType | undefined;
    constanciaNumero?: number | undefined;
    constanciaControl?: string | undefined;
    rucFusionado?: string | undefined;
}, {
    formato: AssociatedDocumentType;
    numero?: number | undefined;
    fecha?: Date | undefined;
    cdc?: string | undefined;
    timbrado?: number | undefined;
    establecimiento?: number | undefined;
    punto?: number | undefined;
    tipoDocumentoImpreso?: PrintedDocumentType | undefined;
    numeroRetencion?: string | undefined;
    resolucionCreditoFiscal?: string | undefined;
    constanciaTipo?: ConstancyType | undefined;
    constanciaNumero?: number | undefined;
    constanciaControl?: string | undefined;
    rucFusionado?: string | undefined;
}>;
export type DocumentoAsociado = z.infer<typeof DocumentoAsociadoSchema>;
