import { z } from 'zod';
import { ActeurEnriched } from './acteurs_et_organes.js';
/**
 * Texte enriched - extends TexteClean
 * Currently no enrichment fields, structure in place for future use
 */
export declare const TexteEnrichedSchema: z.ZodType<TexteEnriched>;
export type TexteEnriched = {
    _?: string;
    id_syceron?: string;
    stime?: string;
    sup?: string;
    lienAdt?: TexteEnriched[];
};
/**
 * OrateurElement enriched - extends OrateurElementClean
 * Currently no enrichment fields, structure in place for future use
 */
export declare const OrateurElementEnrichedSchema: z.ZodObject<{
    nom: z.ZodOptional<z.ZodString>;
    id: z.ZodOptional<z.ZodString>;
    qualite: z.ZodOptional<z.ZodString>;
    acteur: z.ZodOptional<z.ZodLazy<z.ZodType<ActeurEnriched, unknown, z.core.$ZodTypeInternals<ActeurEnriched, unknown>>>>;
}, z.core.$strip>;
export type OrateurElementEnriched = z.infer<typeof OrateurElementEnrichedSchema>;
/**
 * Orateurs enriched - extends OrateursClean
 * Uses OrateurElementEnriched
 */
export declare const OrateursEnrichedSchema: z.ZodObject<{
    orateur: z.ZodArray<z.ZodObject<{
        nom: z.ZodOptional<z.ZodString>;
        id: z.ZodOptional<z.ZodString>;
        qualite: z.ZodOptional<z.ZodString>;
        acteur: z.ZodOptional<z.ZodLazy<z.ZodType<ActeurEnriched, unknown, z.core.$ZodTypeInternals<ActeurEnriched, unknown>>>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type OrateursEnriched = z.infer<typeof OrateursEnrichedSchema>;
/**
 * Point enriched - extends PointClean
 * Uses enriched nested types
 */
export declare const PointEnrichedSchema: z.ZodType<PointEnriched>;
export type PointEnriched = {
    id_preparation?: string;
    ordre_absolu_seance?: string;
    code_grammaire?: string;
    sommaire?: string;
    id_syceron?: string;
    valeur_ptsodj?: string;
    nivpoint?: string;
    ordinal_prise?: string;
    code_style?: string;
    code_parole?: string;
    valeur?: string;
    orateurs?: OrateursEnriched | string;
    texte?: TexteEnriched | string;
    paragraphe?: PointEnriched[];
    interExtraction?: PointEnriched[];
    point?: PointEnriched[];
    structure?: string;
    id_acteur?: string;
    id_mandat?: string;
    id_nomination_oe?: string;
    id_nomination_op?: string;
    orateur?: string;
    bibard?: string;
    art?: string;
    adt?: string;
    ssadt?: string;
    roledebat?: string;
    changementPresidence?: PointEnriched[];
    type_debat?: string;
    decision?: string;
    ouvertureSeance?: PointEnriched;
    nom_orateur?: string;
    qualite?: string;
    acteur?: ActeurEnriched;
};
/**
 * FinSeance enriched - extends FinSeanceClean
 * Uses PointEnriched
 */
export declare const FinSeanceEnrichedSchema: z.ZodObject<{
    point: z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>;
}, z.core.$strip>;
export type FinSeanceEnriched = z.infer<typeof FinSeanceEnrichedSchema>;
/**
 * Quantiemes enriched - extends QuantiemesClean
 * Currently no enrichment fields
 */
export declare const QuantiemesEnrichedSchema: z.ZodObject<{
    journee: z.ZodString;
    session: z.ZodString;
}, z.core.$strip>;
export type QuantiemesEnriched = z.infer<typeof QuantiemesEnrichedSchema>;
/**
 * Contenu enriched - extends ContenuClean
 * Uses PointEnriched
 */
export declare const ContenuEnrichedSchema: z.ZodObject<{
    quantiemes: z.ZodObject<{
        journee: z.ZodString;
        session: z.ZodString;
    }, z.core.$strip>;
    ouvertureSeance: z.ZodOptional<z.ZodArray<z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>>>;
    point: z.ZodArray<z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>>;
    finSeance: z.ZodOptional<z.ZodObject<{
        point: z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>;
    }, z.core.$strip>>;
    paragraphe: z.ZodOptional<z.ZodArray<z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>>>;
}, z.core.$strip>;
export type ContenuEnriched = z.infer<typeof ContenuEnrichedSchema>;
/**
 * TitreStruct enriched - extends TitreStructClean
 * Currently no enrichment fields
 */
export declare const TitreStructEnrichedSchema: z.ZodObject<{
    id_syceron: z.ZodString;
    intitule: z.ZodOptional<z.ZodString>;
    sousIntitule: z.ZodOptional<z.ZodString>;
    type_debat: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type TitreStructEnriched = z.infer<typeof TitreStructEnrichedSchema>;
/**
 * SommaireElement enriched - extends SommaireElementClean
 * Uses TexteEnriched
 */
export declare const SommaireElementEnrichedSchema: z.ZodType<SommaireElementEnriched>;
export type SommaireElementEnriched = {
    valeur_pts_odj?: string;
    titreStruct: TitreStructEnriched;
    para?: Array<TexteEnriched | string>;
    sommaire2?: SommaireElementEnriched[];
    sommaire3?: SommaireElementEnriched[];
    presidentSeance?: TexteEnriched[];
    type_debat?: string;
};
/**
 * Sommaire enriched - extends SommaireClean
 * Uses TexteEnriched and SommaireElementEnriched
 */
export declare const SommaireEnrichedSchema: z.ZodObject<{
    presidentSeance: z.ZodType<TexteEnriched, unknown, z.core.$ZodTypeInternals<TexteEnriched, unknown>>;
    sommaire1: z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>;
    sommaire3: z.ZodOptional<z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>>;
    sommaire2: z.ZodOptional<z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>>;
    para: z.ZodOptional<z.ZodArray<z.ZodType<TexteEnriched, unknown, z.core.$ZodTypeInternals<TexteEnriched, unknown>>>>;
}, z.core.$strip>;
export type SommaireEnriched = z.infer<typeof SommaireEnrichedSchema>;
/**
 * Metadonnees enriched - extends MetadonneesClean
 * Uses SommaireEnriched
 */
export declare const MetadonneesEnrichedSchema: z.ZodObject<{
    dateSeance: z.ZodString;
    dateSeanceJour: z.ZodString;
    numSeanceJour: z.ZodString;
    numSeance: z.ZodString;
    typeAssemblee: z.ZodString;
    legislature: z.ZodString;
    session: z.ZodString;
    nomFichierJo: z.ZodString;
    validite: z.ZodString;
    etat: z.ZodString;
    diffusion: z.ZodString;
    version: z.ZodString;
    environnement: z.ZodString;
    heureGeneration: z.ZodOptional<z.ZodISODateTime>;
    sommaire: z.ZodObject<{
        presidentSeance: z.ZodType<TexteEnriched, unknown, z.core.$ZodTypeInternals<TexteEnriched, unknown>>;
        sommaire1: z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>;
        sommaire3: z.ZodOptional<z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>>;
        sommaire2: z.ZodOptional<z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>>;
        para: z.ZodOptional<z.ZodArray<z.ZodType<TexteEnriched, unknown, z.core.$ZodTypeInternals<TexteEnriched, unknown>>>>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type MetadonneesEnriched = z.infer<typeof MetadonneesEnrichedSchema>;
/**
 * CompteRendu enriched - extends CompteRenduClean
 * Includes Tricoteuses-added fields (videoUrl, videoTimecode)
 */
export declare const CompteRenduEnrichedSchema: z.ZodObject<{
    schemaVersion: z.ZodOptional<z.ZodString>;
    uid: z.ZodString;
    seanceRef: z.ZodString;
    sessionRef: z.ZodString;
    videoUrl: z.ZodOptional<z.ZodString>;
    videoTimecode: z.ZodOptional<z.ZodNumber>;
    metadonnees: z.ZodObject<{
        dateSeance: z.ZodString;
        dateSeanceJour: z.ZodString;
        numSeanceJour: z.ZodString;
        numSeance: z.ZodString;
        typeAssemblee: z.ZodString;
        legislature: z.ZodString;
        session: z.ZodString;
        nomFichierJo: z.ZodString;
        validite: z.ZodString;
        etat: z.ZodString;
        diffusion: z.ZodString;
        version: z.ZodString;
        environnement: z.ZodString;
        heureGeneration: z.ZodOptional<z.ZodISODateTime>;
        sommaire: z.ZodObject<{
            presidentSeance: z.ZodType<TexteEnriched, unknown, z.core.$ZodTypeInternals<TexteEnriched, unknown>>;
            sommaire1: z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>;
            sommaire3: z.ZodOptional<z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>>;
            sommaire2: z.ZodOptional<z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>>;
            para: z.ZodOptional<z.ZodArray<z.ZodType<TexteEnriched, unknown, z.core.$ZodTypeInternals<TexteEnriched, unknown>>>>;
        }, z.core.$strip>;
    }, z.core.$strip>;
    contenu: z.ZodObject<{
        quantiemes: z.ZodObject<{
            journee: z.ZodString;
            session: z.ZodString;
        }, z.core.$strip>;
        ouvertureSeance: z.ZodOptional<z.ZodArray<z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>>>;
        point: z.ZodArray<z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>>;
        finSeance: z.ZodOptional<z.ZodObject<{
            point: z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>;
        }, z.core.$strip>>;
        paragraphe: z.ZodOptional<z.ZodArray<z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>>>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type CompteRenduEnriched = z.infer<typeof CompteRenduEnrichedSchema>;
/**
 * ComptesRendus enriched - extends ComptesRendusClean
 */
export declare const ComptesRendusEnrichedSchema: z.ZodObject<{
    comptesRendus: z.ZodArray<z.ZodObject<{
        schemaVersion: z.ZodOptional<z.ZodString>;
        uid: z.ZodString;
        seanceRef: z.ZodString;
        sessionRef: z.ZodString;
        videoUrl: z.ZodOptional<z.ZodString>;
        videoTimecode: z.ZodOptional<z.ZodNumber>;
        metadonnees: z.ZodObject<{
            dateSeance: z.ZodString;
            dateSeanceJour: z.ZodString;
            numSeanceJour: z.ZodString;
            numSeance: z.ZodString;
            typeAssemblee: z.ZodString;
            legislature: z.ZodString;
            session: z.ZodString;
            nomFichierJo: z.ZodString;
            validite: z.ZodString;
            etat: z.ZodString;
            diffusion: z.ZodString;
            version: z.ZodString;
            environnement: z.ZodString;
            heureGeneration: z.ZodOptional<z.ZodISODateTime>;
            sommaire: z.ZodObject<{
                presidentSeance: z.ZodType<TexteEnriched, unknown, z.core.$ZodTypeInternals<TexteEnriched, unknown>>;
                sommaire1: z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>;
                sommaire3: z.ZodOptional<z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>>;
                sommaire2: z.ZodOptional<z.ZodArray<z.ZodType<SommaireElementEnriched, unknown, z.core.$ZodTypeInternals<SommaireElementEnriched, unknown>>>>;
                para: z.ZodOptional<z.ZodArray<z.ZodType<TexteEnriched, unknown, z.core.$ZodTypeInternals<TexteEnriched, unknown>>>>;
            }, z.core.$strip>;
        }, z.core.$strip>;
        contenu: z.ZodObject<{
            quantiemes: z.ZodObject<{
                journee: z.ZodString;
                session: z.ZodString;
            }, z.core.$strip>;
            ouvertureSeance: z.ZodOptional<z.ZodArray<z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>>>;
            point: z.ZodArray<z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>>;
            finSeance: z.ZodOptional<z.ZodObject<{
                point: z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>;
            }, z.core.$strip>>;
            paragraphe: z.ZodOptional<z.ZodArray<z.ZodType<PointEnriched, unknown, z.core.$ZodTypeInternals<PointEnriched, unknown>>>>;
        }, z.core.$strip>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type ComptesRendusEnriched = z.infer<typeof ComptesRendusEnrichedSchema>;
/**
 * Parse CompteRendu from JSON string
 */
export declare function parseCompteRenduEnriched(json: string): CompteRenduEnriched;
/**
 * Parse ComptesRendus from JSON string
 */
export declare function parseComptesRendusEnriched(json: string): ComptesRendusEnriched;
/**
 * Serialize CompteRendu to JSON string
 */
export declare function compteRenduEnrichedToJson(value: CompteRenduEnriched): string;
/**
 * Serialize ComptesRendus to JSON string
 */
export declare function comptesRendusEnrichedToJson(value: ComptesRendusEnriched): string;
/**
 * File-specific Convert object matching Quicktype's Convert class API
 *
 * @example
 * ```typescript
 * import { DebatsEnrichedConvert } from "@tricoteuses/assemblee/zod"
 *
 * const compteRendu = DebatsEnrichedConvert.toCompteRendu(json)
 * const json = DebatsEnrichedConvert.compteRenduToJson(compteRendu)
 * ```
 */
export declare const DebatsEnrichedConvert: {
    toCompteRendu: typeof parseCompteRenduEnriched;
    compteRenduToJson: typeof compteRenduEnrichedToJson;
    toComptesRendus: typeof parseComptesRendusEnriched;
    comptesRendusToJson: typeof comptesRendusEnrichedToJson;
};
