import { SexType } from '@faker-js/faker';
export interface Person {
    id: string;
    name: string;
    age: number;
    status: 'active' | 'inactive' | 'pending';
    occupation: string;
    gender: SexType;
    country: string;
    experienceYears: number;
    /** Simulated order date. */
    orderDate: Date;
    /** Simulated shipping date. */
    shipDate: Date;
    address: {
        street: string;
        city: {
            name: string;
            region: {
                code: string;
                name: string;
            };
        };
    };
    children: {
        name: string;
        age: number;
        hobbies: string[];
    }[];
}
/**
 * Generate an integer between min and max (inclusive).
 */
export declare const getRandomInt: (min: number, max: number) => number;
/**
 * Pick an item from an array. Returns undefined for an empty array.
 */
export declare const getRandomItem: <T>(array: T[]) => T;
/**
 * Generate a single person record.
 */
export declare const generatePerson: (index: number) => Person;
/**
 * Generate mock data with the specified number of rows.
 */
export declare const generateMockData: (count: number) => Person[];
/**
 * Reset the cached mock data (used by tests, and to re-generate under a seed).
 */
export declare const resetMockData: () => void;
/**
 * Get mock data with the specified number of rows (cached after the first call).
 */
export declare const getMockData: (count?: number) => Person[];
