import type { IDeliveryClient } from "@kontent-ai/delivery-sdk";
import type { ContentTypeElements, ContentTypeModels, ContentTypeSnippetModels, ElementModels, IManagementClient, TaxonomyModels } from "@kontent-ai/management-sdk";
export type CliAction = "delivery-sdk" | "migration-toolkit" | "environment" | "items" | "sync-sdk";
export type LibraryType = "@kontent-ai/migration-toolkit" | "@kontent-ai/delivery-sdk" | "@kontent-ai/sync-sdk";
export declare const moduleFileExtensions: readonly ["js", "ts", "mjs", "mts", "none"];
export type ModuleFileExtension = (typeof moduleFileExtensions)[number];
export declare const environmentEntities: readonly ["languages", "taxonomies", "contentTypes", "snippets", "webhooks", "collections", "workflows", "assetFolders", "roles", "customApps", "previewUrls", "spaces"];
export type EnvironmentEntity = (typeof environmentEntities)[number];
export type CaseType = "camelCase" | "pascalCase" | "kebabCase";
export type DeliveryApiMode = "preview" | "secure" | "default";
export type GeneratorManagementClient = Readonly<IManagementClient<unknown>>;
export type GeneratorDeliveryClient = Readonly<IDeliveryClient>;
export type LiteralUnion<T extends string | undefined> = T | (string & NonNullable<unknown>);
export type CreateFilesConfig = {
    readonly createFiles: true;
    readonly outputDir?: string;
} | {
    readonly createFiles: false;
};
export type DeepPartial<T> = {
    [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
};
export interface ErrorData {
    readonly message: string;
    readonly isMapiError: boolean;
    readonly error: unknown;
    readonly requestData?: string;
    readonly requestUrl?: string;
    readonly isUnknownError: boolean;
}
export interface OriginalManagementError {
    readonly response?: {
        readonly status?: number;
        readonly config?: {
            readonly url?: string;
            readonly data?: string;
        };
        readonly data?: {
            readonly error_code?: number;
        };
    };
}
export interface MultipleChoiceOption {
    readonly name: string;
    readonly codename: string;
}
export interface FlattenedElement {
    readonly title: string;
    readonly id: string;
    readonly codename: string;
    readonly externalId?: string;
    readonly type: ElementModels.ElementType;
    readonly isRequired: boolean;
    readonly guidelines?: string;
    readonly allowedContentTypes?: readonly Readonly<ContentTypeModels.ContentType>[];
    readonly originalElement: Readonly<ContentTypeElements.ContentTypeElementModel>;
    readonly assignedTaxonomy?: Readonly<TaxonomyModels.Taxonomy>;
    readonly fromSnippet?: Readonly<ContentTypeSnippetModels.ContentTypeSnippet>;
    readonly multipleChoiceOptions?: readonly Readonly<MultipleChoiceOption>[];
    readonly isElementWithProperty: boolean;
}
export interface GeneratedFile {
    readonly filename: string;
    readonly text: string;
}
export interface GeneratedSet {
    readonly files: readonly GeneratedFile[];
    readonly folderName: string | undefined;
}
export type ObjectWithCodename = {
    readonly codename: string;
};
export type ObjectWithName = {
    readonly name: string;
};
export type ValidateKeys<Keys, T extends keyof T extends Keys ? (Keys extends keyof T ? unknown : never) : never> = T;
export type GeneratedTypeModel = {
    readonly imports: readonly string[];
    readonly code: string;
};
