import type { Meter, Span, Tracer } from '@opentelemetry/api';
/**
 * @internal
 * Gets the OpenTelemetry tracer used by future Teams apps package instrumentation.
 */
export declare function getTeamsBotApplicationTracer(): Tracer;
/**
 * @internal
 * Gets the OpenTelemetry meter used by future Teams apps package instrumentation.
 */
export declare function getTeamsBotApplicationMeter(): Meter;
/**
 * @internal
 * Records an inbound activity received by the Teams apps package.
 */
export declare function recordTeamsBotActivityReceived(activityType: string): void;
/**
 * @internal
 * Records activity processing duration in milliseconds.
 */
export declare function recordTeamsBotActivityProcessDuration(activityType: string, durationMs: number): void;
/**
 * @internal
 * Records a selected Teams app handler dispatch.
 */
export declare function recordTeamsBotHandlerDispatched(handlerType: string, handlerDispatch: string): void;
/**
 * @internal
 * Records Teams app handler duration in milliseconds.
 */
export declare function recordTeamsBotHandlerDuration(handlerType: string, handlerDispatch: string, durationMs: number): void;
/**
 * @internal
 * Records a failed Teams app handler dispatch.
 */
export declare function recordTeamsBotHandlerFailure(handlerType: string, handlerDispatch: string): void;
/**
 * @internal
 * Records an inbound activity that did not match any Teams app handler.
 */
export declare function recordTeamsBotHandlerUnmatched(activityType: string, invokeName?: string): void;
/**
 * @internal
 * Records a completed Teams app OAuth operation.
 */
export declare function recordTeamsBotOAuthOperation(connectionName: string, operation: string, result: string): void;
/**
 * @internal
 * Records Teams app OAuth operation duration in milliseconds.
 */
export declare function recordTeamsBotOAuthOperationDuration(connectionName: string, operation: string, result: string, durationMs: number): void;
/**
 * @internal
 * Records an unexpected Teams app OAuth error.
 */
export declare function recordTeamsBotOAuthError(connectionName: string, operation: string, errorType: string): void;
/**
 * @internal
 * Records an exception on a span and marks the span status as an error.
 */
export declare function recordTeamsBotApplicationException(span: Span, error: unknown): void;
