import type { IDataMockInit, ITypeDateTimeInit } from '@pawel-up/data-mock/types.js';
import { Random } from '@pawel-up/data-mock/Random.js';
import { Types } from '@pawel-up/data-mock/Types.js';
import { Internet } from '@pawel-up/data-mock/Internet.js';
import { Person } from '@pawel-up/data-mock/Person.js';
import { IHttpHistory } from '../../models/HttpHistory.js';
import { Request, IRequestLogInit } from './Request.js';
export interface IHttpHistoryInit {
    /**
     * Either organization id, list of organizations to pick one or whether to generate a organization.
     */
    organization?: boolean | string | string[];
    /**
     * User is always generated per store requirements.
     */
    user?: string | string[];
    /**
     * Either project id, list of projects to pick one or whether to generate a project.
     */
    project?: boolean | string | string[];
    /**
     * Either request id, list of requests to pick one or whether to generate a request.
     */
    request?: boolean | string | string[];
    /**
     * Either app id, list of apps to pick one or whether to generate an app.
     */
    app?: boolean | string | string[];
    /**
     * The log init options
     */
    log?: IRequestLogInit;
    /**
     * The created time init options.
     */
    created?: ITypeDateTimeInit;
}
export interface IHttpHistoryListInit extends IHttpHistoryInit {
    /**
     * When set it generates as many user IDs.
     * Ignored when the `user` is set.
     */
    usersSize?: number;
    /**
     * When set it generates as many organization ids.
     * Ignored when the `organization` is set.
     */
    organizationSize?: number;
    /**
     * When set it generates as many project ids.
     * Ignored when the `project` is set.
     */
    projectsSize?: number;
    /**
     * When set it generates as many request ids.
     * Ignored when the `request` is set.
     */
    requestsSize?: number;
    /**
     * When set it generates as many app ids.
     * Ignored when the `app` is set.
     */
    appsSize?: number;
}
export declare class History {
    person: Person;
    types: Types;
    internet: Internet;
    random: Random;
    request: Request;
    constructor(init?: IDataMockInit);
    httpHistory(init?: IHttpHistoryInit): Promise<IHttpHistory>;
    httpHistoryList(size?: number, init?: IHttpHistoryListInit): Promise<IHttpHistory[]>;
}
//# sourceMappingURL=History.d.ts.map