import { DeclensionInput, DeclensionOutput, GenderDetectionInput, GenderDetectionOutput } from './contracts'; export { DeclensionInput, DeclensionOutput, GenderDetectionInput, GenderDetectionOutput, } from './contracts'; export { InputValidationError } from './input-validation'; export { GrammaticalCase, GrammaticalGender, WordClass } from './language'; export { WordInflector } from './word-declension'; export { registerExtension, ShevchenkoExtension, ExtensionFactory, AfterInflectHook, } from './extension'; /** * Inflects an anthroponym in nominative grammatical case. * * @example * ```ts * const anthroponym = await shevchenko.inNominative({ * gender: shevchenko.GrammaticalGender.MASCULINE, * givenName: 'Тарас', * patronymicName: 'Григорович', * familyName: 'Шевченко', * }); * ``` * @throws {InputValidationError} Input validation error. */ export declare function inNominative(input: T): Promise>; /** * Inflects an anthroponym in genitive grammatical case. * * @example * ```ts * const anthroponym = await shevchenko.inGenitive({ * gender: shevchenko.GrammaticalGender.MASCULINE, * givenName: 'Тарас', * patronymicName: 'Григорович', * familyName: 'Шевченко', * }); * ``` * @throws {InputValidationError} Input validation error. */ export declare function inGenitive(input: T): Promise>; /** * Inflects an anthroponym in dative grammatical case. * * @example * ```ts * const anthroponym = await shevchenko.inDative({ * gender: shevchenko.GrammaticalGender.MASCULINE, * givenName: 'Тарас', * patronymicName: 'Григорович', * familyName: 'Шевченко', * }); * ``` * @throws {InputValidationError} Input validation error. */ export declare function inDative(input: T): Promise>; /** * Inflects an anthroponym in accusative grammatical case. * * @example * ```ts * const anthroponym = await shevchenko.inAccusative({ * gender: shevchenko.GrammaticalGender.MASCULINE, * givenName: 'Тарас', * patronymicName: 'Григорович', * familyName: 'Шевченко', * }); * ``` * @throws {InputValidationError} Input validation error. */ export declare function inAccusative(input: T): Promise>; /** * Inflects an anthroponym in ablative grammatical case. * * @example * ```ts * const anthroponym = await shevchenko.inAblative({ * gender: shevchenko.GrammaticalGender.MASCULINE, * givenName: 'Тарас', * patronymicName: 'Григорович', * familyName: 'Шевченко', * }); * ``` * @throws {InputValidationError} Input validation error. */ export declare function inAblative(input: T): Promise>; /** * Inflects an anthroponym in locative grammatical case. * * @example * ```ts * const anthroponym = await shevchenko.inLocative({ * gender: shevchenko.GrammaticalGender.MASCULINE, * givenName: 'Тарас', * patronymicName: 'Григорович', * familyName: 'Шевченко', * }); * ``` * @throws {InputValidationError} Input validation error. */ export declare function inLocative(input: T): Promise>; /** * Inflects an anthroponym in vocative grammatical case. * * @example * ```ts * const anthroponym = await shevchenko.inVocative({ * gender: shevchenko.GrammaticalGender.MASCULINE, * givenName: 'Тарас', * patronymicName: 'Григорович', * familyName: 'Шевченко', * }); * ``` * @throws {InputValidationError} Input validation error. */ export declare function inVocative(input: T): Promise>; /** * Returns the grammatical gender of an anthroponym. * Returns null if the grammatical gender cannot be detected. * * @example * ```ts * const gender = await shevchenko.detectGender({ * givenName: 'Тарас', * patronymicName: 'Григорович', * familyName: 'Шевченко', * }); * ``` * @throws {InputValidationError} Input validation error. */ export declare function detectGender(input: GenderDetectionInput): Promise;