import { FieldSchema } from '@unito/integration-api';
import * as Crawler from './crawler';
import * as Validator from './validator';
export interface GeneratorOptions {
    random?: () => number;
}
export interface GenerateOptions {
    excludeReadOnly?: boolean;
}
export declare function create(crawler: Crawler.Instance, options?: GeneratorOptions): Promise<Instance>;
export declare class Instance {
    private validator;
    private crawler;
    private referenceCache;
    constructor(validator: Validator.Instance, crawler: Crawler.Instance, options?: GeneratorOptions);
    generate(initialFields: FieldSchema[], options?: GenerateOptions): Promise<Record<string, unknown>>;
    private prepare;
    private populateReferences;
    private getReferenceValue;
    private filterFields;
    private generateRange;
}
