import type { ResolvedCliOptions } from '../../../utils/config/cli-options';
import type { FileMap } from '../../../create-project/utils/file-map';
type InjectOptions = {
    /** Default `'head'` */
    location?: 'head' | 'body';
    /** Default `false` */
    defer?: boolean;
    type?: string;
};
export type HtmlBuilder = {
    setAppName: (appName: string) => HtmlBuilder;
    setBaseURL: (url: string) => HtmlBuilder;
    setRootID: (rootId: string) => HtmlBuilder;
    injectScript: (url: string, options?: InjectOptions) => HtmlBuilder;
    addInjectionMarker: () => HtmlBuilder;
    injectScriptWithContent: (content: string, location?: 'head' | 'body') => HtmlBuilder;
    injectStylesheet: (url: string) => HtmlBuilder;
    build: () => string;
};
/**
 * Utility for building the index entry html file and injecting dependencies into
 * it.
 */
export declare function getIndexHtmlBuilder(userHtmlPath?: string): HtmlBuilder;
/**
 * Populates the created index HTML with all the content needed (css, scripts)
 * @param options The CLI options we are getting
 * @param uiFiles The filemap containing ui files
 * @param normalizedBaseHref The baseHref in normalized format
 * @param webSocketUrlScript The url script of the websocket
 * @param sdkShimScript The script of the sdk
 * @returns The HTML index page in Buffer format
 */
export declare function getHTMLContent(options: ResolvedCliOptions, uiFiles: FileMap, normalizedBaseHref: string, webSocketUrlScript: string, sdkShimScript: string, uiFilesEntryPoint: string, sessionTokenScript?: string): Buffer;
/**
 * Injecting the agent script into the index.html.
 * If it is an internal app (appId: dynatrace.*) it will not inject the selfmonAgentConfig so the actions from the agent will correlate with the top level session.
 * @param html
 * @param agentUrl
 * @param distDir path where the ui is located e.g. dist/ui or dist/widgets/actions/action-1
 * @param appId
 * @param uiFiles
 */
export declare function injectAgent(html: HtmlBuilder, agentUrl: string, distDir: string, appId: string): Promise<void>;
export {};
