import { TextDB } from './database'; import { BasicRandom, Interval } from './basic-random'; /** * Generator for string * @public */ export declare class TextRandom extends BasicRandom { database: TextDB; /** * Return a random char * * @param options - */ character(options?: CharacterOptions): string; /** * Return a random string * * @param options - the params * * @public */ string(options?: StringOptions): string; /** * Return a random syllable * @param options - the params * @internal */ syllable(options?: SyllableOptions): string; /** * return a random word * @param options - the params */ word(options?: WordOptions): string; /** * return a random sentence * @param options - the params */ sentence(options?: SentenceOptions): string; /** * return a random paragraph * @param options - the params */ paragraph(options?: ParagraphOptions): string; /** * return a random english name * * @param options - the params */ name(options?: Person): string; /** * return a random english surname */ surname(): string; /** * return a random english given name * @param options - the params */ givenName(options?: Person): string; /** * return a random phone number * @param options - the params */ phone(options?: PhoneOptions): string; /** * return a random Chinese character */ cCharacter(options?: CCharacterOptions): string; /** * return a random Chinese word * @param options - the params */ cWord(options?: CWordOption): string; /** * return a random Chinese sentence * @param options - the params */ cSentence(options?: Interval): string; /** * return a random Chinese paragraph * @param options - the params */ cParagraph(options?: Interval): string; /** * return a random Chinese name * @param options - the params */ cName(options?: Person): string; /** * return a random Chinese surname * @param options - the params */ cSurname(): string; /** * return a random Chinese given name */ cGivenName(options?: CFirstNameOptions): string; /** * return a random Chinese zodiac * @param options - the params * * @example * ```javascript * const R = new TextRandom(); * const cZodiacCn = R.cZodiac(); // '鼠', '牛', '虎'... * const cZodiacEn = R.cZodiac({ locale: 'en-US' }); // 'Rat','OX','Tiger'... * ``` */ cZodiac(options?: CZodiacOptions): string; } /** * @public */ export interface CharacterOptions { pool?: string; numeric?: boolean; symbols?: boolean; lower?: boolean; upper?: boolean; } /** * @public */ export interface StringOptions extends CharacterOptions { length?: number; } /** * @public */ export interface SyllableOptions { capitalize?: boolean; length?: number; } /** * @public */ export interface WordOptions { syllables?: number; /** capitalize first letter */ capitalize?: boolean; /** the length of word */ length?: number; } /** @public */ export interface SentenceOptions { /** the counts of word */ words?: number; punctuation?: boolean | string; } /** @public */ export interface ParagraphOptions { /** the counts of sentence in the paragraph */ sentence?: number; } /** @public */ export interface Person { /** 性别 */ gender?: 'male' | 'female'; } /** @public */ export interface CFirstNameOptions extends Person { length?: number; } /** @public */ export interface CCharacterOptions { pool?: string; } /** @public */ export interface CWordOption extends CCharacterOptions { length?: number; } /** @public */ export interface PhoneOptions { /** true: mobile numbers; false: landline numbers */ mobile?: boolean; /** true: add '-' to format phone numbers */ formatted?: boolean; /** true: add '*' to avoid generating real phone numbers */ asterisk?: boolean; /** only the first three digits can be specified, otherwise it is invalid */ startNum?: string; } /** @public */ export interface CZodiacOptions { locale?: 'en-US' | 'zh-CN'; }