import type { AssetFolderModels, CollectionModels, ContentTypeModels, ContentTypeSnippetModels, CustomAppModels, EnvironmentModels, LanguageModels, PreviewModels, RoleModels, SpaceModels, TaxonomyModels, WebhookModels, WorkflowModels } from "@kontent-ai/management-sdk";
import type { EnvironmentEntity, GeneratedSet, ValidateKeys } from "../../core/core.models.js";
export type EnvironmentEntities = ValidateKeys<EnvironmentEntity, {
    readonly contentTypes: readonly Readonly<ContentTypeModels.ContentType>[] | undefined;
    readonly languages: readonly Readonly<LanguageModels.LanguageModel>[] | undefined;
    readonly taxonomies: readonly Readonly<TaxonomyModels.Taxonomy>[] | undefined;
    readonly workflows: readonly Readonly<WorkflowModels.Workflow>[] | undefined;
    readonly assetFolders: readonly Readonly<AssetFolderModels.AssetFolder>[] | undefined;
    readonly collections: readonly Readonly<CollectionModels.Collection>[] | undefined;
    readonly roles: readonly Readonly<RoleModels.Role>[] | undefined;
    readonly snippets: readonly Readonly<ContentTypeSnippetModels.ContentTypeSnippet>[] | undefined;
    readonly webhooks: readonly Readonly<WebhookModels.Webhook>[] | undefined;
    readonly customApps: readonly Readonly<CustomAppModels.CustomApp>[] | undefined;
    readonly spaces: readonly Readonly<SpaceModels.Space>[] | undefined;
    readonly previewUrls: Readonly<PreviewModels.PreviewConfiguration> | undefined;
}>;
export type EnvironmentGeneratorConfig = {
    readonly environmentInfo: Readonly<EnvironmentModels.EnvironmentInformationModel>;
    readonly environmentEntities: EnvironmentEntities;
    readonly entitiesToCreate: readonly EnvironmentEntity[];
};
export declare function getEnvironmentGenerator(config: EnvironmentGeneratorConfig): {
    generateEnvironmentModels: () => GeneratedSet;
};
