import type { InstrumentationConfig } from '@opentelemetry/instrumentation';
import { InstrumentationBase, InstrumentationNodeModuleDefinition } from '@opentelemetry/instrumentation';
export interface RemixInstrumentationConfig extends InstrumentationConfig {
    /**
     * Mapping of FormData field to span attribute names. Appends attribute as `formData.${name}`.
     *
     * Provide `true` value to use the FormData field name as the attribute name, or provide
     * a `string` value to map the field name to a custom attribute name.
     *
     * @default { _action: "actionType" }
     */
    actionFormDataAttributes?: Record<string, boolean | string>;
}
export declare class RemixInstrumentation extends InstrumentationBase {
    constructor(config?: RemixInstrumentationConfig);
    getConfig(): RemixInstrumentationConfig;
    setConfig(config?: RemixInstrumentationConfig): void;
    protected init(): InstrumentationNodeModuleDefinition;
    private _patchMatchServerRoutes;
    private _patchCreateRequestHandler;
    private _patchCallRouteLoader;
    private _patchCallRouteAction;
    private _addErrorToSpan;
}
//# sourceMappingURL=instrumentation.d.ts.map