import type { AppIcon, DynatraceApplicationManifest } from '../interfaces';
import type { ActionManifest, DocumentsManifest, DocumentTypes, DocumentTypesManifest, FunctionManifest, ResolvedCliOptions, SettingsManifest } from './config/cli-options';
import type { AllMetaFiles } from './archive/build-meta-file';
export declare const APP_BUNDLE_VERSION = "0.1.0";
export type PrepareManifestOptions = Pick<ResolvedCliOptions, 'build' | 'root' | 'app'>;
/**
 * Prepare the application manifest by merging the app options with
 * the icon, the app-bundle-version and the app's dependencies.
 */
export declare function prepareManifest(options: PrepareManifestOptions, icon: AppIcon, allMetaFiles?: AllMetaFiles): Promise<DynatraceApplicationManifest>;
/**
 * Add actions manifest
 */
export declare function addActions(options: PrepareManifestOptions): Promise<ActionManifest[]>;
/**
 *  Creates the widget manifest based on the app config and default values
 */
export declare function getWidgetManifest(widgets: string[], widgetConfig?: SettingsManifest /** Add more config types here as we go */): SettingsManifest;
/**
 *  Creates the documents manifest based on the app config and default values
 */
export declare function getDocumentsManifest(documents: string[], documentsConfig?: DocumentsManifest): {};
/**
 * Generates a document types manifest by combining configuration with icon paths
 * @param Array of document type paths
 * @param Configuration object for document types
 * @returns Complete document types manifest
 */
export declare function getDocumentTypesManifest(documentTypes?: string[], documentTypesConfig?: DocumentTypes): DocumentTypesManifest;
/**
 * Get functions and actions of app.
 * Actions have a resumable flag as a property if they are long-running
 */
export declare function getFunctionsAndActions(options: PrepareManifestOptions, actions?: ActionManifest[]): Record<string, FunctionManifest>;
