## API Report File for "@angular-devkit/build-angular"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { ApplicationBuilderOptions } from '@angular/build';
import { buildApplication } from '@angular/build';
import { BuilderContext } from '@angular-devkit/architect';
import { BuilderOutput } from '@angular-devkit/architect';
import type { ConfigOptions } from 'karma';
import { Configuration } from 'webpack';
import { DevServerBuilderOutput } from '@angular/build';
import type http from 'node:http';
import { IndexHtmlTransform } from '@angular/build/private';
import { Observable } from 'rxjs';
import type { Plugin as Plugin_2 } from 'esbuild';
import webpack from 'webpack';
import { WebpackLoggingCallback } from '@angular-devkit/build-webpack';

export { ApplicationBuilderOptions }

// @public (undocumented)
export type AssetPattern = AssetPatternObject | string;

// @public (undocumented)
export type AssetPatternObject = {
    followSymlinks?: boolean;
    glob: string;
    ignore?: string[];
    input: string;
    output?: string;
};

// @public
export type BrowserBuilderOptions = {
    allowedCommonJsDependencies?: string[];
    aot?: boolean;
    assets?: AssetPattern[];
    baseHref?: string;
    budgets?: Budget[];
    buildOptimizer?: boolean;
    commonChunk?: boolean;
    crossOrigin?: CrossOrigin;
    deleteOutputPath?: boolean;
    deployUrl?: string;
    extractLicenses?: boolean;
    fileReplacements?: FileReplacement[];
    i18nDuplicateTranslation?: I18NTranslation;
    i18nMissingTranslation?: I18NTranslation;
    index: IndexUnion;
    inlineStyleLanguage?: InlineStyleLanguage;
    localize?: Localize;
    main: string;
    namedChunks?: boolean;
    ngswConfigPath?: string;
    optimization?: OptimizationUnion;
    outputHashing?: OutputHashing;
    outputPath: string;
    poll?: number;
    polyfills?: Polyfills;
    preserveSymlinks?: boolean;
    progress?: boolean;
    resourcesOutputPath?: string;
    scripts?: ScriptElement[];
    serviceWorker?: boolean;
    sourceMap?: SourceMapUnion;
    statsJson?: boolean;
    stylePreprocessorOptions?: StylePreprocessorOptions;
    styles?: StyleElement[];
    subresourceIntegrity?: boolean;
    tsConfig: string;
    vendorChunk?: boolean;
    verbose?: boolean;
    watch?: boolean;
    webWorkerTsConfig?: string;
};

// @public
export type BrowserBuilderOutput = BuilderOutput & {
    stats: BuildEventStats;
    baseOutputPath: string;
    outputs: {
        locale?: string;
        path: string;
        baseHref?: string;
    }[];
};

// @public (undocumented)
export type Budget = {
    baseline?: string;
    error?: string;
    maximumError?: string;
    maximumWarning?: string;
    minimumError?: string;
    minimumWarning?: string;
    name?: string;
    type: Type;
    warning?: string;
};

export { buildApplication }

// @public
export enum CrossOrigin {
    // (undocumented)
    Anonymous = "anonymous",
    // (undocumented)
    None = "none",
    // (undocumented)
    UseCredentials = "use-credentials"
}

// @public
export type DevServerBuilderOptions = {
    allowedHosts?: string[];
    buildTarget: string;
    disableHostCheck?: boolean;
    forceEsbuild?: boolean;
    headers?: {
        [key: string]: string;
    };
    hmr?: boolean;
    host?: string;
    inspect?: Inspect;
    liveReload?: boolean;
    open?: boolean;
    poll?: number;
    port?: number;
    prebundle?: PrebundleUnion;
    proxyConfig?: string;
    publicHost?: string;
    servePath?: string;
    ssl?: boolean;
    sslCert?: string;
    sslKey?: string;
    verbose?: boolean;
    watch?: boolean;
};

export { DevServerBuilderOutput }

// @public
export function executeBrowserBuilder(options: BrowserBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
    logging?: WebpackLoggingCallback;
    indexHtml?: IndexHtmlTransform;
}): Observable<BrowserBuilderOutput>;

// @public
export function executeDevServerBuilder(options: DevServerBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<Configuration>;
    logging?: WebpackLoggingCallback;
    indexHtml?: IndexHtmlTransform;
}, extensions?: {
    buildPlugins?: Plugin_2[];
    middleware?: ((req: http.IncomingMessage, res: http.ServerResponse, next: (err?: unknown) => void) => void)[];
    builderSelector?: (info: BuilderSelectorInfo, logger: BuilderContext['logger']) => string;
}): Observable<DevServerBuilderOutput>;

// @public
export function executeExtractI18nBuilder(options: ExtractI18nBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
}): Promise<BuilderOutput>;

// @public
export function executeKarmaBuilder(options: KarmaBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<Configuration>;
    karmaOptions?: (options: KarmaConfigOptions) => KarmaConfigOptions;
}): Observable<BuilderOutput>;

// @public
export function executeNgPackagrBuilder(options: NgPackagrBuilderOptions, context: BuilderContext): Observable<BuilderOutput>;

// @public
export function executeProtractorBuilder(options: ProtractorBuilderOptions, context: BuilderContext): Promise<BuilderOutput>;

// @public
export function executeServerBuilder(options: ServerBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
}): Observable<ServerBuilderOutput>;

// @public (undocumented)
export function executeSSRDevServerBuilder(options: SSRDevServerBuilderOptions, context: BuilderContext): Observable<SSRDevServerBuilderOutput>;

// @public
export type ExecutionTransformer<T> = (input: T) => T | Promise<T>;

// @public
export type ExtractI18nBuilderOptions = {
    buildTarget?: string;
    format?: Format;
    i18nDuplicateTranslation?: I18NDuplicateTranslation;
    outFile?: string;
    outputPath?: string;
    progress?: boolean;
};

// @public (undocumented)
export type FileReplacement = {
    replace?: string;
    replaceWith?: string;
    src?: string;
    with?: string;
};

// @public
export type KarmaBuilderOptions = {
    aot?: boolean;
    assets?: AssetPattern_2[];
    browsers?: Browsers;
    builderMode?: BuilderMode;
    codeCoverage?: boolean;
    codeCoverageExclude?: string[];
    exclude?: string[];
    fileReplacements?: FileReplacement_2[];
    include?: string[];
    inlineStyleLanguage?: InlineStyleLanguage_2;
    karmaConfig?: string;
    main?: string;
    poll?: number;
    polyfills?: Polyfills_2;
    preserveSymlinks?: boolean;
    progress?: boolean;
    reporters?: string[];
    scripts?: ScriptElement_2[];
    sourceMap?: SourceMapUnion_2;
    stylePreprocessorOptions?: StylePreprocessorOptions_2;
    styles?: StyleElement_2[];
    tsConfig: string;
    watch?: boolean;
    webWorkerTsConfig?: string;
};

// @public (undocumented)
export type KarmaConfigOptions = ConfigOptions & {
    buildWebpack?: unknown;
    configFile?: string;
};

// @public
export type NgPackagrBuilderOptions = {
    poll?: number;
    project: string;
    tsConfig?: string;
    watch?: boolean;
};

// @public (undocumented)
export type OptimizationObject = {
    fonts?: FontsUnion;
    scripts?: boolean;
    styles?: StylesUnion;
};

// @public
export type OptimizationUnion = boolean | OptimizationObject;

// @public
export enum OutputHashing {
    // (undocumented)
    All = "all",
    // (undocumented)
    Bundles = "bundles",
    // (undocumented)
    Media = "media",
    // (undocumented)
    None = "none"
}

// @public
export type ProtractorBuilderOptions = {
    baseUrl?: string;
    devServerTarget?: string;
    grep?: string;
    host?: string;
    invertGrep?: boolean;
    port?: number;
    protractorConfig: string;
    specs?: string[];
    suite?: string;
    webdriverUpdate?: boolean;
};

// @public (undocumented)
export type ServerBuilderOptions = {
    assets?: AssetPattern_3[];
    buildOptimizer?: boolean;
    deleteOutputPath?: boolean;
    deployUrl?: string;
    externalDependencies?: string[];
    extractLicenses?: boolean;
    fileReplacements?: FileReplacement_3[];
    i18nDuplicateTranslation?: I18NTranslation_2;
    i18nMissingTranslation?: I18NTranslation_2;
    inlineStyleLanguage?: InlineStyleLanguage_3;
    localize?: Localize_2;
    main: string;
    namedChunks?: boolean;
    optimization?: OptimizationUnion_2;
    outputHashing?: OutputHashing_2;
    outputPath: string;
    poll?: number;
    preserveSymlinks?: boolean;
    progress?: boolean;
    resourcesOutputPath?: string;
    sourceMap?: SourceMapUnion_3;
    statsJson?: boolean;
    stylePreprocessorOptions?: StylePreprocessorOptions_3;
    tsConfig: string;
    vendorChunk?: boolean;
    verbose?: boolean;
    watch?: boolean;
};

// @public
export type ServerBuilderOutput = BuilderOutput & {
    baseOutputPath: string;
    outputPath: string;
    outputs: {
        locale?: string;
        path: string;
    }[];
};

// @public (undocumented)
export type SourceMapObject = {
    hidden?: boolean;
    scripts?: boolean;
    styles?: boolean;
    vendor?: boolean;
};

// @public
export type SourceMapUnion = boolean | SourceMapObject;

// @public (undocumented)
export type SSRDevServerBuilderOptions = Schema;

// @public (undocumented)
export type SSRDevServerBuilderOutput = BuilderOutput & {
    baseUrl?: string;
    port?: string;
};

// @public
export type StylePreprocessorOptions = {
    includePaths?: string[];
};

// @public
export enum Type {
    // (undocumented)
    All = "all",
    // (undocumented)
    AllScript = "allScript",
    // (undocumented)
    Any = "any",
    // (undocumented)
    AnyComponentStyle = "anyComponentStyle",
    // (undocumented)
    AnyScript = "anyScript",
    // (undocumented)
    Bundle = "bundle",
    // (undocumented)
    Initial = "initial"
}

// (No @packageDocumentation comment for this package)

```
