import type { TRequestRecorder } from '@promster/metrics';
import type { TLabelValues, TOptionalPromsterOptions } from '@promster/types';
import type { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
declare const extractPath: (req: FastifyRequest) => string;
declare const getRequestRecorder: () => TRequestRecorder;
declare const signalIsUp: () => void;
declare const signalIsNotUp: () => void;
type TSkipFunction = <TRequest = FastifyRequest, TResponse = FastifyReply>(_req: TRequest, _res: TResponse, _labels: TLabelValues) => boolean;
export type TPromsterOptions = TOptionalPromsterOptions & {
    skip?: TSkipFunction;
};
declare const plugin: (fastify: FastifyInstance, options: TPromsterOptions) => Promise<void>;
export { plugin, getRequestRecorder, signalIsUp, signalIsNotUp, extractPath };
