import { CreateResponse, IFaker, IListener, ISerializedRequest, ISerializedResponse, IUnmockOptions, ServiceStoreType } from "../interfaces";
import { IRandomNumberGenerator } from "../random-number-generator";
import { Service } from "../service";
import { NockAPI, ServiceStore } from "../service/serviceStore";
export interface IFakerConstructorArguments {
    listeners?: IListener[];
    serviceStore: ServiceStore;
    randomNumberGenerator?: IRandomNumberGenerator;
    optionalsProbability?: 1.0;
    minItems?: 0;
}
export interface IFakerOptions {
    randomNumberGenerator: IRandomNumberGenerator;
    minItems: number;
    optionalsProbability: number;
}
export default class UnmockFaker implements IFaker {
    createResponse: CreateResponse;
    readonly mock: NockAPI;
    readonly nock: NockAPI;
    minItems: number;
    optionalsProbability: number;
    readonly randomNumberGenerator: IRandomNumberGenerator;
    private readonly serviceStore;
    private readonly listeners;
    constructor({ listeners, randomNumberGenerator: rng, serviceStore, optionalsProbability, minItems, }: IFakerConstructorArguments);
    setOptions(options: IUnmockOptions): void;
    generate(request: ISerializedRequest): ISerializedResponse;
    get services(): ServiceStoreType;
    add(service: Service): void;
    update(service: Service): void;
    reset(): void;
    purge(): void;
    private createResponseCreator;
}
//# sourceMappingURL=index.d.ts.map