import { Options, Sample, Schema, Specification, Traverse } from './Traverse';
import { SchemaExampleExtractor } from './SchemaExampleExtractor';
import { Sampler } from '../samplers';
export declare class DefaultTraverse implements Traverse {
    private readonly sampleValueExtractor;
    private readonly NULL;
    private refCache;
    private schemasStack;
    private _samplers;
    get samplers(): Map<string, Sampler>;
    set samplers(samplers: Map<string, Sampler>);
    constructor(sampleValueExtractor?: SchemaExampleExtractor);
    clearCache(): void;
    traverse(schema: Schema, options?: Options, spec?: Specification): Sample;
    private createSchemaExample;
    private createSampleValueFromInferredType;
    private tryTraverseSubSchema;
    private tryTraverseAllOf;
    private tryTraverseOneOf;
    private tryTraverseAnyOf;
    private findSchemaExample;
    private pushSchemaStack;
    private checkIfCircleRef;
    private inferRef;
    private getReplacementForCircular;
    private popSchemaStack;
    private inferType;
    private allOfSample;
}
