/** * @license * Copyright 2019 Ludan Stoecklé * SPDX-License-Identifier: Apache-2.0 */ import { VerbInfo, VerbInfoIndex, VerbsInfo } from 'french-verbs-lefff'; export declare function getVerbInfo(verbsInfo: VerbsInfo | null, verb: string): VerbInfo; export declare function alwaysAuxEtre(verb: string): boolean; export declare const validTenses: readonly ["PRESENT", "FUTUR", "IMPARFAIT", "PASSE_SIMPLE", "PASSE_COMPOSE", "PLUS_QUE_PARFAIT", "PASSE_ANTERIEUR", "FUTUR_ANTERIEUR", "CONDITIONNEL_PRESENT", "CONDITIONNEL_PASSE_1", "CONDITIONNEL_PASSE_2", "IMPERATIF_PRESENT", "IMPERATIF_PASSE", "SUBJONCTIF_PRESENT", "SUBJONCTIF_IMPARFAIT", "SUBJONCTIF_PASSE", "SUBJONCTIF_PLUS_QUE_PARFAIT", "INFINITIF", "INFINITIF_PASSE", "PARTICIPE_PRESENT", "PARTICIPE_PASSE", "PARTICIPE_PASSE_COMPOSE"]; export type Tense = typeof validTenses[number]; declare const composedTenses: readonly ["PASSE_COMPOSE", "PLUS_QUE_PARFAIT", "PASSE_ANTERIEUR", "FUTUR_ANTERIEUR", "CONDITIONNEL_PASSE_1", "CONDITIONNEL_PASSE_2", "IMPERATIF_PASSE", "SUBJONCTIF_PASSE", "SUBJONCTIF_PLUS_QUE_PARFAIT", "INFINITIF_PASSE", "PARTICIPE_PASSE", "PARTICIPE_PASSE_COMPOSE"]; type ComposedTense = typeof composedTenses[number]; export declare const isComposedTense: (tense: Tense) => tense is "PASSE_COMPOSE" | "PLUS_QUE_PARFAIT" | "PASSE_ANTERIEUR" | "FUTUR_ANTERIEUR" | "CONDITIONNEL_PASSE_1" | "CONDITIONNEL_PASSE_2" | "IMPERATIF_PASSE" | "SUBJONCTIF_PASSE" | "SUBJONCTIF_PLUS_QUE_PARFAIT" | "INFINITIF_PASSE" | "PARTICIPE_PASSE" | "PARTICIPE_PASSE_COMPOSE"; export declare const isNoPersonTense: (tense: Tense) => tense is "PRESENT" | "FUTUR" | "IMPARFAIT" | "PASSE_SIMPLE" | "PASSE_COMPOSE" | "PLUS_QUE_PARFAIT" | "PASSE_ANTERIEUR" | "FUTUR_ANTERIEUR" | "CONDITIONNEL_PRESENT" | "CONDITIONNEL_PASSE_1" | "CONDITIONNEL_PASSE_2" | "IMPERATIF_PRESENT" | "IMPERATIF_PASSE" | "SUBJONCTIF_PRESENT" | "SUBJONCTIF_IMPARFAIT" | "SUBJONCTIF_PASSE" | "SUBJONCTIF_PLUS_QUE_PARFAIT" | "INFINITIF" | "INFINITIF_PASSE" | "PARTICIPE_PRESENT" | "PARTICIPE_PASSE" | "PARTICIPE_PASSE_COMPOSE"; export type FrenchAux = 'AVOIR' | 'ETRE'; export type GendersMF = 'M' | 'F'; export type Numbers = 'S' | 'P'; export type Voice = 'Act' | 'Pass'; export declare function isTransitive(verb: string): boolean; export declare function getAux(verb: string, aux: FrenchAux, pronominal: boolean | undefined): FrenchAux; export declare function getAuxPassive(tense: Tense): FrenchAux; export declare function getTenseAux(tense: ComposedTense): VerbInfoIndex; export declare function getTenseAuxPassive(tense: Tense): VerbInfoIndex; export interface ComposedTenseOptions { aux?: FrenchAux; agreeGender?: GendersMF; agreeNumber?: Numbers; } export declare function getConjugation(verbsList: VerbsInfo, verb: string, tense: Tense, person: number, composedTenseOptions: ComposedTenseOptions, pronominal: boolean, negativeAdverb: string | undefined, modifierAdverb: string | undefined, voice: Voice): string; export {};