/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { FieldKey } from "../../../core/index.js";
/**
 * This file contains logic to generate a JSON file that is statistically similar to the well-known
 * json benchmarks citm_catalog.json - https://github.com/serde-rs/json-benchmark/blob/master/data/citm_catalog.json
 */
export interface CitmCatalog {
    areaNames: Record<string, string>;
    audienceSubCategoryNames: Record<string, string>;
    blockNames: Record<string, never>;
    events: Record<string, Event>;
    performances: Performance[];
    seatCategoryNames: Record<string, string>;
    subTopicNames: Record<string, string>;
    subjectNames: Record<string, never>;
    topicNames: Record<string, string>;
    topicSubTopics: Record<string, number[]>;
    venueNames: {
        PLEYEL_PLEYEL: "Salle Pleyel";
    };
}
export declare const CitmCatalog: {
    SharedTreeFieldKey: {
        performances: FieldKey;
        seatCategories: FieldKey;
        start: FieldKey;
    };
};
interface Performance {
    eventId: number;
    id: number;
    logo: string | null;
    name: null;
    prices: {
        amount: number;
        audienceSubCategoryId: number;
        seatCategoryId: number;
    }[];
    seatCategories: {
        areas: {
            areaId: number;
            blockIds: never[];
        }[];
        seatCategoryId: number;
    }[];
    seatMapImage: null;
    start: number;
    venueCode: "PLEYEL_PLEYEL";
}
interface Event {
    description: null;
    id: number;
    logo: string | null;
    name: string;
    subTopicIds: number[];
    subjectCode: null;
    subtitle: null;
    topicIds: number[];
}
export declare function generateCitmJson(keyspaceMultiplier: number | undefined, maxSizeInBytes: number, seed?: number): {
    areaNames: Record<string, string>;
    audienceSubCategoryNames: {
        [x: string]: string;
    };
    blockNames: Record<string, never>;
    events: Record<string, Event>;
    performances: Performance[];
    seatCategoryNames: Record<string, string>;
    subTopicNames: Record<string, string>;
    subjectNames: Record<string, never>;
    topicNames: Record<string, string>;
    topicSubTopics: Record<string, number[]>;
    venueNames: {
        PLEYEL_PLEYEL: string;
    };
};
export {};
//# sourceMappingURL=citm.d.ts.map