import { z } from 'zod';
/**
 * L'{@link Acteur | acteur} ou l'{@link Organe | organe} qui {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/les-fonctions-de-l-assemblee-nationale/les-fonctions-legislatives/les-votes-a-l-assemblee-nationale | demande le vote}. C'est un texte libre destiné à l'affichage.
 *
 * Note: texte optional because cleanXmlArtefacts may remove if null
 */
export declare const DemandeurCleanSchema: z.ZodObject<{
    texte: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type DemandeurClean = z.infer<typeof DemandeurCleanSchema>;
/**
 * Objet du vote, toujours identique au champ titre.
 *
 * Note: referenceLegislative removed by cleaner (always undefined)
 * Note: dossierLegislatif now appears on some recent scrutins
 */
export declare const DossierLegislatifObjetCleanSchema: z.ZodObject<{
    libelle: z.ZodString;
    dossierRef: z.ZodString;
}, z.core.$strip>;
export type DossierLegislatifObjetClean = z.infer<typeof DossierLegislatifObjetCleanSchema>;
export declare const ObjetVoteCleanSchema: z.ZodObject<{
    libelle: z.ZodString;
    dossierLegislatif: z.ZodOptional<z.ZodObject<{
        libelle: z.ZodString;
        dossierRef: z.ZodString;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type ObjetVoteClean = z.infer<typeof ObjetVoteCleanSchema>;
/**
 * Résultat du vote (adopté ou non).
 */
export declare const SortScrutinCleanSchema: z.ZodObject<{
    code: z.ZodEnum<{
        adopté: "adopté";
        rejeté: "rejeté";
    }>;
    libelle: z.ZodEnum<{
        "l'Assembl\u00E9e nationale a adopt\u00E9": "l'Assemblée nationale a adopté";
        "L'Assembl\u00E9e nationale n'a pas adopt\u00E9": "L'Assemblée nationale n'a pas adopté";
        "Le Congr\u00E8s du Parlement a adopt\u00E9": "Le Congrès du Parlement a adopté";
        "Le Congr\u00E8s du Parlement n'a pas adopt\u00E9": "Le Congrès du Parlement n'a pas adopté";
    }>;
}, z.core.$strip>;
export type SortScrutinClean = z.infer<typeof SortScrutinCleanSchema>;
/**
 * Type de vote: MOC pour motion de censure, SAT pour scrutin à la tribune, SPO pour scrutin public ordinaire, SPS pour scrutin public solennel et SSG pour scrutin solennel congrès
 */
export declare const TypeVoteCleanSchema: z.ZodObject<{
    codeTypeVote: z.ZodEnum<{
        MOC: "MOC";
        SAT: "SAT";
        SPO: "SPO";
        SPS: "SPS";
        SSG: "SSG";
    }>;
    libelleTypeVote: z.ZodEnum<{
        "motion de censure": "motion de censure";
        "scrutin public ordinaire": "scrutin public ordinaire";
        "scrutin public solennel": "scrutin public solennel";
        "scrutin \u00E0 la tribune": "scrutin à la tribune";
        "Scrutin solennel congr\u00E8s": "Scrutin solennel congrès";
    }>;
    typeMajorite: z.ZodEnum<{
        "Majorit\u00E9 absolue des suffrages exprim\u00E9s": "Majorité absolue des suffrages exprimés";
        "majorit\u00E9 absolue des suffrages exprim\u00E9s": "majorité absolue des suffrages exprimés";
        "majorit\u00E9 des membres composant l'Assembl\u00E9e nationale": "majorité des membres composant l'Assemblée nationale";
        "majorit\u00E9 des membres composants composant l'Assembl\u00E9e": "majorité des membres composants composant l'Assemblée";
        "majorit\u00E9 des membres composants composant l'Assembl\u00E9e nationale": "majorité des membres composants composant l'Assemblée nationale";
        "Majorit\u00E9 requise pour un Congr\u00E8s": "Majorité requise pour un Congrès";
        "Majorit\u00E9 requise pour une motion de censure": "Majorité requise pour une motion de censure";
    }>;
}, z.core.$strip>;
export type TypeVoteClean = z.infer<typeof TypeVoteCleanSchema>;
/**
 * Decompte des voix
 *
 * Note: Fields renamed by cleaner (abstention → abstentions, nonVotant → nonVotants)
 */
export declare const DecompteVoixCleanSchema: z.ZodObject<{
    pour: z.ZodString;
    contre: z.ZodString;
    abstentions: z.ZodOptional<z.ZodString>;
    nonVotants: z.ZodOptional<z.ZodString>;
    nonVotantsVolontaires: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type DecompteVoixClean = z.infer<typeof DecompteVoixCleanSchema>;
/**
 * Résultat du vote (adopté ou non) et le décompte des voix.
 */
export declare const SyntheseVoteCleanSchema: z.ZodObject<{
    nombreVotants: z.ZodString;
    suffragesExprimes: z.ZodString;
    nbrSuffragesRequis: z.ZodString;
    annonce: z.ZodEnum<{
        "l'Assembl\u00E9e nationale a adopt\u00E9": "l'Assemblée nationale a adopté";
        "L'Assembl\u00E9e nationale n'a pas adopt\u00E9": "L'Assemblée nationale n'a pas adopté";
        "Le Congr\u00E8s du Parlement a adopt\u00E9": "Le Congrès du Parlement a adopté";
        "Le Congr\u00E8s du Parlement n'a pas adopt\u00E9": "Le Congrès du Parlement n'a pas adopté";
    }>;
    decompte: z.ZodObject<{
        pour: z.ZodString;
        contre: z.ZodString;
        abstentions: z.ZodOptional<z.ZodString>;
        nonVotants: z.ZodOptional<z.ZodString>;
        nonVotantsVolontaires: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type SyntheseVoteClean = z.infer<typeof SyntheseVoteCleanSchema>;
/**
 * Votant (individual voter)
 *
 * Note: parDelegation converted to boolean by cleanBooleanAttribute
 * Note: numPlace converted to number by cleanIntegerAttribute
 */
export declare const VotantCleanSchema: z.ZodObject<{
    acteurRef: z.ZodString;
    mandatRef: z.ZodString;
    parDelegation: z.ZodOptional<z.ZodBoolean>;
    numPlace: z.ZodOptional<z.ZodNumber>;
    causePositionVote: z.ZodOptional<z.ZodEnum<{
        MG: "MG";
        PAN: "PAN";
        PSE: "PSE";
    }>>;
}, z.core.$strip>;
export type VotantClean = z.infer<typeof VotantCleanSchema>;
/**
 * Décompte nominatif des votes
 *
 * Note: Arrays unwrapped from wrapper objects by cleaner
 * Note: Fields renamed (abstention → abstentions, pours → pour, contres → contre, nonVotant → nonVotants)
 * Note: All arrays optional because cleaner removes empty arrays
 */
export declare const DecompteNominatifCleanSchema: z.ZodObject<{
    nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type DecompteNominatifClean = z.infer<typeof DecompteNominatifCleanSchema>;
/**
 * Vote d'un groupe
 */
export declare const VoteCleanSchema: z.ZodObject<{
    positionMajoritaire: z.ZodEnum<{
        abstention: "abstention";
        contre: "contre";
        pour: "pour";
    }>;
    decompteVoix: z.ZodObject<{
        pour: z.ZodString;
        contre: z.ZodString;
        abstentions: z.ZodOptional<z.ZodString>;
        nonVotants: z.ZodOptional<z.ZodString>;
        nonVotantsVolontaires: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    decompteNominatif: z.ZodObject<{
        nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type VoteClean = z.infer<typeof VoteCleanSchema>;
/**
 * Groupe politique (vote details)
 */
export declare const VentilationVotesGroupeCleanSchema: z.ZodObject<{
    organeRef: z.ZodString;
    nombreMembresGroupe: z.ZodString;
    vote: z.ZodObject<{
        positionMajoritaire: z.ZodEnum<{
            abstention: "abstention";
            contre: "contre";
            pour: "pour";
        }>;
        decompteVoix: z.ZodObject<{
            pour: z.ZodString;
            contre: z.ZodString;
            abstentions: z.ZodOptional<z.ZodString>;
            nonVotants: z.ZodOptional<z.ZodString>;
            nonVotantsVolontaires: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
        decompteNominatif: z.ZodObject<{
            nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type VentilationVotesGroupeClean = z.infer<typeof VentilationVotesGroupeCleanSchema>;
/**
 * Ventilation des votes par groupe
 *
 * Note: ventilationVotes.organe unwrapped by cleaner to top level
 * Note: groupes.groupe unwrapped to just groupes array
 */
export declare const VentilationVotesCleanSchema: z.ZodObject<{
    organeRef: z.ZodString;
    groupes: z.ZodArray<z.ZodObject<{
        organeRef: z.ZodString;
        nombreMembresGroupe: z.ZodString;
        vote: z.ZodObject<{
            positionMajoritaire: z.ZodEnum<{
                abstention: "abstention";
                contre: "contre";
                pour: "pour";
            }>;
            decompteVoix: z.ZodObject<{
                pour: z.ZodString;
                contre: z.ZodString;
                abstentions: z.ZodOptional<z.ZodString>;
                nonVotants: z.ZodOptional<z.ZodString>;
                nonVotantsVolontaires: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>;
            decompteNominatif: z.ZodObject<{
                nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    acteurRef: z.ZodString;
                    mandatRef: z.ZodString;
                    parDelegation: z.ZodOptional<z.ZodBoolean>;
                    numPlace: z.ZodOptional<z.ZodNumber>;
                    causePositionVote: z.ZodOptional<z.ZodEnum<{
                        MG: "MG";
                        PAN: "PAN";
                        PSE: "PSE";
                    }>>;
                }, z.core.$strip>>>;
                pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    acteurRef: z.ZodString;
                    mandatRef: z.ZodString;
                    parDelegation: z.ZodOptional<z.ZodBoolean>;
                    numPlace: z.ZodOptional<z.ZodNumber>;
                    causePositionVote: z.ZodOptional<z.ZodEnum<{
                        MG: "MG";
                        PAN: "PAN";
                        PSE: "PSE";
                    }>>;
                }, z.core.$strip>>>;
                contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    acteurRef: z.ZodString;
                    mandatRef: z.ZodString;
                    parDelegation: z.ZodOptional<z.ZodBoolean>;
                    numPlace: z.ZodOptional<z.ZodNumber>;
                    causePositionVote: z.ZodOptional<z.ZodEnum<{
                        MG: "MG";
                        PAN: "PAN";
                        PSE: "PSE";
                    }>>;
                }, z.core.$strip>>>;
                abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    acteurRef: z.ZodString;
                    mandatRef: z.ZodString;
                    parDelegation: z.ZodOptional<z.ZodBoolean>;
                    numPlace: z.ZodOptional<z.ZodNumber>;
                    causePositionVote: z.ZodOptional<z.ZodEnum<{
                        MG: "MG";
                        PAN: "PAN";
                        PSE: "PSE";
                    }>>;
                }, z.core.$strip>>>;
            }, z.core.$strip>;
        }, z.core.$strip>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type VentilationVotesClean = z.infer<typeof VentilationVotesCleanSchema>;
/**
 * Dysfonctionnement lors de la mise au point
 *
 * Note: All arrays optional, cleaner removes empty arrays
 * Note: nonVotantsVolontaires optional because not always present
 */
export declare const DysfonctionnementCleanSchema: z.ZodObject<{
    nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    nonVotantsVolontaires: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type DysfonctionnementClean = z.infer<typeof DysfonctionnementCleanSchema>;
/**
 * Mise au point (corrections post-scrutin)
 *
 * Note: All arrays unwrapped from wrapper objects by cleaner
 * Note: dysfonctionnement optional, removed if empty by cleaner
 */
export declare const MiseAuPointCleanSchema: z.ZodObject<{
    nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    nonVotantsVolontaires: z.ZodOptional<z.ZodArray<z.ZodObject<{
        acteurRef: z.ZodString;
        mandatRef: z.ZodString;
        parDelegation: z.ZodOptional<z.ZodBoolean>;
        numPlace: z.ZodOptional<z.ZodNumber>;
        causePositionVote: z.ZodOptional<z.ZodEnum<{
            MG: "MG";
            PAN: "PAN";
            PSE: "PSE";
        }>>;
    }, z.core.$strip>>>;
    dysfonctionnement: z.ZodOptional<z.ZodObject<{
        nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        nonVotantsVolontaires: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type MiseAuPointClean = z.infer<typeof MiseAuPointCleanSchema>;
/**
 * Scrutin
 *
 * Les positions de vote (pour, contre ou abstention) de chaque député pour les {@link https://www.vie-publique.fr/fiches/19498-comment-votent-les-parlementaires | scrutins solennels}, les déclarations du Gouvernement, les motions de procédure et les autres scrutins publics.
 *
 * Note: schemaVersion optional (from QuickType types)
 * Note: miseAuPoint optional, can be removed if empty by cleaner
 * Note: lieuVote optional, not always present
 */
export declare const ScrutinCleanSchema: z.ZodObject<{
    schemaVersion: z.ZodOptional<z.ZodString>;
    uid: z.ZodString;
    numero: z.ZodString;
    organeRef: z.ZodString;
    legislature: z.ZodString;
    sessionRef: z.ZodString;
    seanceRef: z.ZodString;
    dateScrutin: z.ZodPipe<z.ZodPipe<z.ZodTransform<string | Date | undefined, unknown>, z.ZodOptional<z.ZodDate>> & z.ZodType<Date, unknown, z.core.$ZodTypeInternals<Date, unknown>>, z.ZodTransform<Date, Date>>;
    quantiemeJourSeance: z.ZodString;
    typeVote: z.ZodObject<{
        codeTypeVote: z.ZodEnum<{
            MOC: "MOC";
            SAT: "SAT";
            SPO: "SPO";
            SPS: "SPS";
            SSG: "SSG";
        }>;
        libelleTypeVote: z.ZodEnum<{
            "motion de censure": "motion de censure";
            "scrutin public ordinaire": "scrutin public ordinaire";
            "scrutin public solennel": "scrutin public solennel";
            "scrutin \u00E0 la tribune": "scrutin à la tribune";
            "Scrutin solennel congr\u00E8s": "Scrutin solennel congrès";
        }>;
        typeMajorite: z.ZodEnum<{
            "Majorit\u00E9 absolue des suffrages exprim\u00E9s": "Majorité absolue des suffrages exprimés";
            "majorit\u00E9 absolue des suffrages exprim\u00E9s": "majorité absolue des suffrages exprimés";
            "majorit\u00E9 des membres composant l'Assembl\u00E9e nationale": "majorité des membres composant l'Assemblée nationale";
            "majorit\u00E9 des membres composants composant l'Assembl\u00E9e": "majorité des membres composants composant l'Assemblée";
            "majorit\u00E9 des membres composants composant l'Assembl\u00E9e nationale": "majorité des membres composants composant l'Assemblée nationale";
            "Majorit\u00E9 requise pour un Congr\u00E8s": "Majorité requise pour un Congrès";
            "Majorit\u00E9 requise pour une motion de censure": "Majorité requise pour une motion de censure";
        }>;
    }, z.core.$strip>;
    sort: z.ZodObject<{
        code: z.ZodEnum<{
            adopté: "adopté";
            rejeté: "rejeté";
        }>;
        libelle: z.ZodEnum<{
            "l'Assembl\u00E9e nationale a adopt\u00E9": "l'Assemblée nationale a adopté";
            "L'Assembl\u00E9e nationale n'a pas adopt\u00E9": "L'Assemblée nationale n'a pas adopté";
            "Le Congr\u00E8s du Parlement a adopt\u00E9": "Le Congrès du Parlement a adopté";
            "Le Congr\u00E8s du Parlement n'a pas adopt\u00E9": "Le Congrès du Parlement n'a pas adopté";
        }>;
    }, z.core.$strip>;
    titre: z.ZodString;
    demandeur: z.ZodObject<{
        texte: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    objet: z.ZodObject<{
        libelle: z.ZodString;
        dossierLegislatif: z.ZodOptional<z.ZodObject<{
            libelle: z.ZodString;
            dossierRef: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    modePublicationDesVotes: z.ZodEnum<{
        DecompteDissidentsPositionGroupe: "DecompteDissidentsPositionGroupe";
        DecompteNominatif: "DecompteNominatif";
    }>;
    syntheseVote: z.ZodObject<{
        nombreVotants: z.ZodString;
        suffragesExprimes: z.ZodString;
        nbrSuffragesRequis: z.ZodString;
        annonce: z.ZodEnum<{
            "l'Assembl\u00E9e nationale a adopt\u00E9": "l'Assemblée nationale a adopté";
            "L'Assembl\u00E9e nationale n'a pas adopt\u00E9": "L'Assemblée nationale n'a pas adopté";
            "Le Congr\u00E8s du Parlement a adopt\u00E9": "Le Congrès du Parlement a adopté";
            "Le Congr\u00E8s du Parlement n'a pas adopt\u00E9": "Le Congrès du Parlement n'a pas adopté";
        }>;
        decompte: z.ZodObject<{
            pour: z.ZodString;
            contre: z.ZodString;
            abstentions: z.ZodOptional<z.ZodString>;
            nonVotants: z.ZodOptional<z.ZodString>;
            nonVotantsVolontaires: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
    }, z.core.$strip>;
    ventilationVotes: z.ZodObject<{
        organeRef: z.ZodString;
        groupes: z.ZodArray<z.ZodObject<{
            organeRef: z.ZodString;
            nombreMembresGroupe: z.ZodString;
            vote: z.ZodObject<{
                positionMajoritaire: z.ZodEnum<{
                    abstention: "abstention";
                    contre: "contre";
                    pour: "pour";
                }>;
                decompteVoix: z.ZodObject<{
                    pour: z.ZodString;
                    contre: z.ZodString;
                    abstentions: z.ZodOptional<z.ZodString>;
                    nonVotants: z.ZodOptional<z.ZodString>;
                    nonVotantsVolontaires: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>;
                decompteNominatif: z.ZodObject<{
                    nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        acteurRef: z.ZodString;
                        mandatRef: z.ZodString;
                        parDelegation: z.ZodOptional<z.ZodBoolean>;
                        numPlace: z.ZodOptional<z.ZodNumber>;
                        causePositionVote: z.ZodOptional<z.ZodEnum<{
                            MG: "MG";
                            PAN: "PAN";
                            PSE: "PSE";
                        }>>;
                    }, z.core.$strip>>>;
                    pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        acteurRef: z.ZodString;
                        mandatRef: z.ZodString;
                        parDelegation: z.ZodOptional<z.ZodBoolean>;
                        numPlace: z.ZodOptional<z.ZodNumber>;
                        causePositionVote: z.ZodOptional<z.ZodEnum<{
                            MG: "MG";
                            PAN: "PAN";
                            PSE: "PSE";
                        }>>;
                    }, z.core.$strip>>>;
                    contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        acteurRef: z.ZodString;
                        mandatRef: z.ZodString;
                        parDelegation: z.ZodOptional<z.ZodBoolean>;
                        numPlace: z.ZodOptional<z.ZodNumber>;
                        causePositionVote: z.ZodOptional<z.ZodEnum<{
                            MG: "MG";
                            PAN: "PAN";
                            PSE: "PSE";
                        }>>;
                    }, z.core.$strip>>>;
                    abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        acteurRef: z.ZodString;
                        mandatRef: z.ZodString;
                        parDelegation: z.ZodOptional<z.ZodBoolean>;
                        numPlace: z.ZodOptional<z.ZodNumber>;
                        causePositionVote: z.ZodOptional<z.ZodEnum<{
                            MG: "MG";
                            PAN: "PAN";
                            PSE: "PSE";
                        }>>;
                    }, z.core.$strip>>>;
                }, z.core.$strip>;
            }, z.core.$strip>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    miseAuPoint: z.ZodOptional<z.ZodObject<{
        nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        nonVotantsVolontaires: z.ZodOptional<z.ZodArray<z.ZodObject<{
            acteurRef: z.ZodString;
            mandatRef: z.ZodString;
            parDelegation: z.ZodOptional<z.ZodBoolean>;
            numPlace: z.ZodOptional<z.ZodNumber>;
            causePositionVote: z.ZodOptional<z.ZodEnum<{
                MG: "MG";
                PAN: "PAN";
                PSE: "PSE";
            }>>;
        }, z.core.$strip>>>;
        dysfonctionnement: z.ZodOptional<z.ZodObject<{
            nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            nonVotantsVolontaires: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    lieuVote: z.ZodOptional<z.ZodEnum<{
        Congrès: "Congrès";
        Hémicycle: "Hémicycle";
        Salons: "Salons";
    }>>;
}, z.core.$strip>;
export type ScrutinClean = z.infer<typeof ScrutinCleanSchema>;
/**
 * Scrutins (top-level wrapper) - clean version
 */
export declare const ScrutinsCleanSchema: z.ZodObject<{
    scrutins: z.ZodArray<z.ZodObject<{
        schemaVersion: z.ZodOptional<z.ZodString>;
        uid: z.ZodString;
        numero: z.ZodString;
        organeRef: z.ZodString;
        legislature: z.ZodString;
        sessionRef: z.ZodString;
        seanceRef: z.ZodString;
        dateScrutin: z.ZodPipe<z.ZodPipe<z.ZodTransform<string | Date | undefined, unknown>, z.ZodOptional<z.ZodDate>> & z.ZodType<Date, unknown, z.core.$ZodTypeInternals<Date, unknown>>, z.ZodTransform<Date, Date>>;
        quantiemeJourSeance: z.ZodString;
        typeVote: z.ZodObject<{
            codeTypeVote: z.ZodEnum<{
                MOC: "MOC";
                SAT: "SAT";
                SPO: "SPO";
                SPS: "SPS";
                SSG: "SSG";
            }>;
            libelleTypeVote: z.ZodEnum<{
                "motion de censure": "motion de censure";
                "scrutin public ordinaire": "scrutin public ordinaire";
                "scrutin public solennel": "scrutin public solennel";
                "scrutin \u00E0 la tribune": "scrutin à la tribune";
                "Scrutin solennel congr\u00E8s": "Scrutin solennel congrès";
            }>;
            typeMajorite: z.ZodEnum<{
                "Majorit\u00E9 absolue des suffrages exprim\u00E9s": "Majorité absolue des suffrages exprimés";
                "majorit\u00E9 absolue des suffrages exprim\u00E9s": "majorité absolue des suffrages exprimés";
                "majorit\u00E9 des membres composant l'Assembl\u00E9e nationale": "majorité des membres composant l'Assemblée nationale";
                "majorit\u00E9 des membres composants composant l'Assembl\u00E9e": "majorité des membres composants composant l'Assemblée";
                "majorit\u00E9 des membres composants composant l'Assembl\u00E9e nationale": "majorité des membres composants composant l'Assemblée nationale";
                "Majorit\u00E9 requise pour un Congr\u00E8s": "Majorité requise pour un Congrès";
                "Majorit\u00E9 requise pour une motion de censure": "Majorité requise pour une motion de censure";
            }>;
        }, z.core.$strip>;
        sort: z.ZodObject<{
            code: z.ZodEnum<{
                adopté: "adopté";
                rejeté: "rejeté";
            }>;
            libelle: z.ZodEnum<{
                "l'Assembl\u00E9e nationale a adopt\u00E9": "l'Assemblée nationale a adopté";
                "L'Assembl\u00E9e nationale n'a pas adopt\u00E9": "L'Assemblée nationale n'a pas adopté";
                "Le Congr\u00E8s du Parlement a adopt\u00E9": "Le Congrès du Parlement a adopté";
                "Le Congr\u00E8s du Parlement n'a pas adopt\u00E9": "Le Congrès du Parlement n'a pas adopté";
            }>;
        }, z.core.$strip>;
        titre: z.ZodString;
        demandeur: z.ZodObject<{
            texte: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
        objet: z.ZodObject<{
            libelle: z.ZodString;
            dossierLegislatif: z.ZodOptional<z.ZodObject<{
                libelle: z.ZodString;
                dossierRef: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>;
        modePublicationDesVotes: z.ZodEnum<{
            DecompteDissidentsPositionGroupe: "DecompteDissidentsPositionGroupe";
            DecompteNominatif: "DecompteNominatif";
        }>;
        syntheseVote: z.ZodObject<{
            nombreVotants: z.ZodString;
            suffragesExprimes: z.ZodString;
            nbrSuffragesRequis: z.ZodString;
            annonce: z.ZodEnum<{
                "l'Assembl\u00E9e nationale a adopt\u00E9": "l'Assemblée nationale a adopté";
                "L'Assembl\u00E9e nationale n'a pas adopt\u00E9": "L'Assemblée nationale n'a pas adopté";
                "Le Congr\u00E8s du Parlement a adopt\u00E9": "Le Congrès du Parlement a adopté";
                "Le Congr\u00E8s du Parlement n'a pas adopt\u00E9": "Le Congrès du Parlement n'a pas adopté";
            }>;
            decompte: z.ZodObject<{
                pour: z.ZodString;
                contre: z.ZodString;
                abstentions: z.ZodOptional<z.ZodString>;
                nonVotants: z.ZodOptional<z.ZodString>;
                nonVotantsVolontaires: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>;
        }, z.core.$strip>;
        ventilationVotes: z.ZodObject<{
            organeRef: z.ZodString;
            groupes: z.ZodArray<z.ZodObject<{
                organeRef: z.ZodString;
                nombreMembresGroupe: z.ZodString;
                vote: z.ZodObject<{
                    positionMajoritaire: z.ZodEnum<{
                        abstention: "abstention";
                        contre: "contre";
                        pour: "pour";
                    }>;
                    decompteVoix: z.ZodObject<{
                        pour: z.ZodString;
                        contre: z.ZodString;
                        abstentions: z.ZodOptional<z.ZodString>;
                        nonVotants: z.ZodOptional<z.ZodString>;
                        nonVotantsVolontaires: z.ZodOptional<z.ZodString>;
                    }, z.core.$strip>;
                    decompteNominatif: z.ZodObject<{
                        nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            acteurRef: z.ZodString;
                            mandatRef: z.ZodString;
                            parDelegation: z.ZodOptional<z.ZodBoolean>;
                            numPlace: z.ZodOptional<z.ZodNumber>;
                            causePositionVote: z.ZodOptional<z.ZodEnum<{
                                MG: "MG";
                                PAN: "PAN";
                                PSE: "PSE";
                            }>>;
                        }, z.core.$strip>>>;
                        pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            acteurRef: z.ZodString;
                            mandatRef: z.ZodString;
                            parDelegation: z.ZodOptional<z.ZodBoolean>;
                            numPlace: z.ZodOptional<z.ZodNumber>;
                            causePositionVote: z.ZodOptional<z.ZodEnum<{
                                MG: "MG";
                                PAN: "PAN";
                                PSE: "PSE";
                            }>>;
                        }, z.core.$strip>>>;
                        contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            acteurRef: z.ZodString;
                            mandatRef: z.ZodString;
                            parDelegation: z.ZodOptional<z.ZodBoolean>;
                            numPlace: z.ZodOptional<z.ZodNumber>;
                            causePositionVote: z.ZodOptional<z.ZodEnum<{
                                MG: "MG";
                                PAN: "PAN";
                                PSE: "PSE";
                            }>>;
                        }, z.core.$strip>>>;
                        abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            acteurRef: z.ZodString;
                            mandatRef: z.ZodString;
                            parDelegation: z.ZodOptional<z.ZodBoolean>;
                            numPlace: z.ZodOptional<z.ZodNumber>;
                            causePositionVote: z.ZodOptional<z.ZodEnum<{
                                MG: "MG";
                                PAN: "PAN";
                                PSE: "PSE";
                            }>>;
                        }, z.core.$strip>>>;
                    }, z.core.$strip>;
                }, z.core.$strip>;
            }, z.core.$strip>>;
        }, z.core.$strip>;
        miseAuPoint: z.ZodOptional<z.ZodObject<{
            nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            nonVotantsVolontaires: z.ZodOptional<z.ZodArray<z.ZodObject<{
                acteurRef: z.ZodString;
                mandatRef: z.ZodString;
                parDelegation: z.ZodOptional<z.ZodBoolean>;
                numPlace: z.ZodOptional<z.ZodNumber>;
                causePositionVote: z.ZodOptional<z.ZodEnum<{
                    MG: "MG";
                    PAN: "PAN";
                    PSE: "PSE";
                }>>;
            }, z.core.$strip>>>;
            dysfonctionnement: z.ZodOptional<z.ZodObject<{
                nonVotants: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    acteurRef: z.ZodString;
                    mandatRef: z.ZodString;
                    parDelegation: z.ZodOptional<z.ZodBoolean>;
                    numPlace: z.ZodOptional<z.ZodNumber>;
                    causePositionVote: z.ZodOptional<z.ZodEnum<{
                        MG: "MG";
                        PAN: "PAN";
                        PSE: "PSE";
                    }>>;
                }, z.core.$strip>>>;
                pour: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    acteurRef: z.ZodString;
                    mandatRef: z.ZodString;
                    parDelegation: z.ZodOptional<z.ZodBoolean>;
                    numPlace: z.ZodOptional<z.ZodNumber>;
                    causePositionVote: z.ZodOptional<z.ZodEnum<{
                        MG: "MG";
                        PAN: "PAN";
                        PSE: "PSE";
                    }>>;
                }, z.core.$strip>>>;
                contre: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    acteurRef: z.ZodString;
                    mandatRef: z.ZodString;
                    parDelegation: z.ZodOptional<z.ZodBoolean>;
                    numPlace: z.ZodOptional<z.ZodNumber>;
                    causePositionVote: z.ZodOptional<z.ZodEnum<{
                        MG: "MG";
                        PAN: "PAN";
                        PSE: "PSE";
                    }>>;
                }, z.core.$strip>>>;
                abstentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    acteurRef: z.ZodString;
                    mandatRef: z.ZodString;
                    parDelegation: z.ZodOptional<z.ZodBoolean>;
                    numPlace: z.ZodOptional<z.ZodNumber>;
                    causePositionVote: z.ZodOptional<z.ZodEnum<{
                        MG: "MG";
                        PAN: "PAN";
                        PSE: "PSE";
                    }>>;
                }, z.core.$strip>>>;
                nonVotantsVolontaires: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    acteurRef: z.ZodString;
                    mandatRef: z.ZodString;
                    parDelegation: z.ZodOptional<z.ZodBoolean>;
                    numPlace: z.ZodOptional<z.ZodNumber>;
                    causePositionVote: z.ZodOptional<z.ZodEnum<{
                        MG: "MG";
                        PAN: "PAN";
                        PSE: "PSE";
                    }>>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        lieuVote: z.ZodOptional<z.ZodEnum<{
            Congrès: "Congrès";
            Hémicycle: "Hémicycle";
            Salons: "Salons";
        }>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type ScrutinsClean = z.infer<typeof ScrutinsCleanSchema>;
/**
 * Parse Scrutin from JSON string
 */
export declare function parseScrutinClean(json: string): ScrutinClean;
/**
 * Parse Scrutins from JSON string
 */
export declare function parseScrutinsClean(json: string): ScrutinsClean;
/**
 * Serialize Scrutin to JSON string
 */
export declare function scrutinCleanToJson(value: ScrutinClean): string;
/**
 * Serialize Scrutins to JSON string
 */
export declare function scrutinsCleanToJson(value: ScrutinsClean): string;
/**
 * File-specific Convert object matching Quicktype's Convert class API
 *
 * @example
 * ```typescript
 * import { ScrutinsCleanConvert } from "@tricoteuses/assemblee/zod"
 *
 * const scrutin = ScrutinsCleanConvert.toScrutin(json)
 * const json = ScrutinsCleanConvert.scrutinToJson(scrutin)
 * ```
 */
export declare const ScrutinsCleanConvert: {
    toScrutin: typeof parseScrutinClean;
    scrutinToJson: typeof scrutinCleanToJson;
    toScrutins: typeof parseScrutinsClean;
    scrutinsToJson: typeof scrutinsCleanToJson;
};
