import * as webpack from 'webpack';
import * as src from 'src';

declare const CONFIG_KEY$1: "rum";

type MinifiedPathPrefix = `http://${string}` | `/${string}`;
type RumSourcemapsOptions = {
    basePath: string;
    dryRun?: boolean;
    intakeUrl?: string;
    maxConcurrency?: number;
    minifiedPathPrefix: MinifiedPathPrefix;
    releaseVersion: string;
    service: string;
};
type RumOptions = {
    disabled?: boolean;
    sourcemaps?: RumSourcemapsOptions;
};
interface OptionsWithRum extends GetPluginsOptions {
    [CONFIG_KEY$1]: RumOptions;
}

type types$1 = {
    RumOptions: RumOptions;
    OptionsWithRum: OptionsWithRum;
};

declare const CONFIG_KEY: "telemetry";

type types = {
    Filter: Filter;
    Metric: Metric;
    TelemetryOptions: TelemetryOptions;
};

type LogLevel = 'debug' | 'warn' | 'error' | 'none';
type AuthOptions = {
    apiKey?: string;
    endPoint?: string;
};
interface GetPluginsOptions {
    auth?: AuthOptions;
    disableGit?: boolean;
    logLevel?: LogLevel;
}
interface Options extends GetPluginsOptions {
    [CONFIG_KEY$1]?: RumOptions;
    [CONFIG_KEY]?: TelemetryOptions;
}

interface Metric {
    metric: string;
    type: 'count' | 'size' | 'duration';
    value: number;
    tags: string[];
}
type Filter = (metric: Metric) => Metric | null;
type OutputOptions = boolean | string | {
    destination: string;
    timings?: boolean;
    dependencies?: boolean;
    bundler?: boolean;
    metrics?: boolean;
    logs?: boolean;
};
type TelemetryOptions = {
    disabled?: boolean;
    output?: OutputOptions;
    prefix?: string;
    tags?: string[];
    timestamp?: number;
    filters?: Filter[];
};

declare const helpers: {
    rum: {};
    telemetry: {
        filters: ((metric: Metric) => Metric | null)[];
    };
};

declare const datadogWebpackPlugin: (options: src.WebpackPluginOptions) => webpack.WebpackPluginInstance;

export { type types$1 as RumTypes, type types as TelemetryTypes, type Options as WebpackPluginOptions, datadogWebpackPlugin, helpers };
//# sourceMappingURL=index.d.ts.map
