@aidalinfo/pdf-processor
Version:
Powerful PDF data extraction library powered by AI vision models. Transform PDFs into structured, validated data using TypeScript, Zod, and AI providers like Scaleway and Ollama.
116 lines (115 loc) • 3.72 kB
TypeScript
import { z } from 'zod';
/**
* Schémas de base réutilisables
*/
export declare const AddressSchema: z.ZodObject<{
street: z.ZodOptional<z.ZodNullable<z.ZodString>>;
city: z.ZodOptional<z.ZodNullable<z.ZodString>>;
postal_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
country: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
street?: string;
city?: string;
postal_code?: string;
country?: string;
}, {
street?: string;
city?: string;
postal_code?: string;
country?: string;
}>;
export declare const ContactInfoSchema: z.ZodObject<{
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
company_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
address: z.ZodOptional<z.ZodNullable<z.ZodObject<{
street: z.ZodOptional<z.ZodNullable<z.ZodString>>;
city: z.ZodOptional<z.ZodNullable<z.ZodString>>;
postal_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
country: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
street?: string;
city?: string;
postal_code?: string;
country?: string;
}, {
street?: string;
city?: string;
postal_code?: string;
country?: string;
}>>>;
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
email: z.ZodOptional<z.ZodUnion<[z.ZodNullable<z.ZodString>, z.ZodLiteral<any>]>>;
website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
vat_number: z.ZodOptional<z.ZodNullable<z.ZodString>>;
tax_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
name?: string;
company_name?: string;
address?: {
street?: string;
city?: string;
postal_code?: string;
country?: string;
};
phone?: string;
email?: any;
website?: string;
vat_number?: string;
tax_id?: string;
}, {
name?: string;
company_name?: string;
address?: {
street?: string;
city?: string;
postal_code?: string;
country?: string;
};
phone?: string;
email?: any;
website?: string;
vat_number?: string;
tax_id?: string;
}>;
export declare const DocumentInfoSchema: z.ZodObject<{
document_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
total_pages: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
document_type?: string;
language?: string;
currency?: string;
total_pages?: number;
}, {
document_type?: string;
language?: string;
currency?: string;
total_pages?: number;
}>;
export declare const PaymentInfoSchema: z.ZodObject<{
payment_terms: z.ZodOptional<z.ZodNullable<z.ZodString>>;
payment_method: z.ZodOptional<z.ZodNullable<z.ZodString>>;
payment_due_date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
bank_details: z.ZodOptional<z.ZodNullable<z.ZodString>>;
iban: z.ZodOptional<z.ZodNullable<z.ZodString>>;
swift_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
payment_terms?: string;
payment_method?: string;
payment_due_date?: string;
bank_details?: string;
iban?: string;
swift_code?: string;
}, {
payment_terms?: string;
payment_method?: string;
payment_due_date?: string;
bank_details?: string;
iban?: string;
swift_code?: string;
}>;
export type Address = z.infer<typeof AddressSchema>;
export type ContactInfo = z.infer<typeof ContactInfoSchema>;
export type DocumentInfo = z.infer<typeof DocumentInfoSchema>;
export type PaymentInfo = z.infer<typeof PaymentInfoSchema>;