import { resourceFromAttributes } from '@opentelemetry/resources';
import { OpenlitOptions, ResolvedOptions } from './types';
import BaseOpenlit from './features/base';
import { usingAttributes, injectAdditionalAttributes } from './helpers';
import { Hallucination, Bias, Toxicity, All } from './evals';
import { PromptInjection } from './guard/prompt-injection';
import { SensitiveTopic } from './guard/sensitive-topic';
import { TopicRestriction } from './guard/topic-restriction';
import { All as GuardAll } from './guard/all';
declare const evals: {
    Hallucination: (options: ConstructorParameters<typeof Hallucination>[0]) => Hallucination;
    Bias: (options: ConstructorParameters<typeof Bias>[0]) => Bias;
    Toxicity: (options: ConstructorParameters<typeof Toxicity>[0]) => Toxicity;
    All: (options: ConstructorParameters<typeof All>[0]) => All;
};
declare const guard: {
    PromptInjection: (options: ConstructorParameters<typeof PromptInjection>[0]) => PromptInjection;
    SensitiveTopic: (options: ConstructorParameters<typeof SensitiveTopic>[0]) => SensitiveTopic;
    TopicRestriction: (options: ConstructorParameters<typeof TopicRestriction>[0]) => TopicRestriction;
    All: (options: ConstructorParameters<typeof GuardAll>[0]) => GuardAll;
};
declare class Openlit extends BaseOpenlit {
    static resource: ReturnType<typeof resourceFromAttributes>;
    static options: ResolvedOptions;
    static evals: {
        Hallucination: (options: ConstructorParameters<typeof Hallucination>[0]) => Hallucination;
        Bias: (options: ConstructorParameters<typeof Bias>[0]) => Bias;
        Toxicity: (options: ConstructorParameters<typeof Toxicity>[0]) => Toxicity;
        All: (options: ConstructorParameters<typeof All>[0]) => All;
    };
    static guard: {
        PromptInjection: (options: ConstructorParameters<typeof PromptInjection>[0]) => PromptInjection;
        SensitiveTopic: (options: ConstructorParameters<typeof SensitiveTopic>[0]) => SensitiveTopic;
        TopicRestriction: (options: ConstructorParameters<typeof TopicRestriction>[0]) => TopicRestriction;
        All: (options: ConstructorParameters<typeof GuardAll>[0]) => GuardAll;
    };
    static init(options?: OpenlitOptions): void;
}
declare const openlit: typeof Openlit & {
    evals: typeof evals;
    guard: typeof guard;
    usingAttributes: typeof usingAttributes;
    injectAdditionalAttributes: typeof injectAdditionalAttributes;
};
export default openlit;
export { Openlit, usingAttributes, injectAdditionalAttributes };
export type { OpenlitOptions } from './types';
