import type { Faker } from "@faker-js/faker";
import { Gender } from "../types/types";
import { type Observable } from 'rxjs';
export interface FirstNameOptions {
    gender?: Gender;
    prefix?: boolean;
}
export declare class FirstNameModule {
    private readonly faker;
    private readonly commonTitles;
    private dataSubject;
    constructor(faker: Faker);
    private loadNameData;
    firstName$(options?: FirstNameOptions): Observable<string>;
    prefix$(gender?: Gender): Observable<string>;
    preloadData$(): Observable<void>;
    firstName(options?: FirstNameOptions): Promise<string>;
    prefix(gender?: Gender): Promise<string>;
    preloadData(): Promise<void>;
    private getNameWithPrefix;
    private getPrefix;
    clearCache(): void;
}
