import { Entity } from '@backstage/catalog-model';
/**
 * Options for a fixed initial load of entities.
 */
export type SyntheticLoadOptions = {
    /**
     * The number of entities to insert.
     */
    baseEntitiesCount: number;
    /**
     * The number of outgoing relations per entity.
     */
    baseRelationsCount: number;
    /**
     * How "bunched up" relations are, as a number between 0 and 1.
     *
     * 0 means that relations are evenly distributed such that they form a uniform
     * mesh. 1 means that every single relation goes to one and the same exact
     * "victim" entity. Thus, the higher the number, the more unevenly distributed
     * the relations are.
     */
    baseRelationsSkew: number;
    /**
     * The number of child entities emitted by each base entity.
     */
    childrenCount: number;
};
/**
 * Events that can occur during the load ingestion
 */
export type SyntheticLoadEvents = {
    onBeforeInsertBaseEntities?: () => void;
    onAfterInsertBaseEntities?: () => void;
    onError?: (error: Error) => void;
};
/**
 * Some shared definitions
 */
export declare const common: {
    readonly baseEntityName: (index: number) => string;
    readonly baseEntityNamespace: "synthetic-load-base";
    readonly baseEntity: (index: number) => Entity;
    readonly childEntityName: (baseEntity: Entity, index: number) => string;
    readonly childEntityNamespace: "synthetic-load-child";
    readonly childEntity: (baseEntity: Entity, index: number) => Entity;
    readonly kind: "Location";
    readonly relationType: "loadTest";
};
