import type { ApiProvider, CallApiContextParams, CallApiOptionsParams, PluginConfig, ProviderResponse } from '../types';
import type { EnvOverrides } from '../types/env';
interface TrusysHarmfulCompletionOptions {
    harmCategory: string;
    n: number;
    purpose: string;
    config?: PluginConfig;
}
export declare class TrusysHarmfulCompletionProvider implements ApiProvider {
    harmCategory: string;
    n: number;
    purpose: string;
    config?: PluginConfig;
    constructor(options: TrusysHarmfulCompletionOptions);
    id(): string;
    toString(): string;
    callApi(prompt: string, context?: CallApiContextParams, callApiOptions?: CallApiOptionsParams): Promise<ProviderResponse & {
        output?: string[];
    }>;
}
interface TrusysChatCompletionOptions {
    env?: EnvOverrides;
    id?: string;
    jsonOnly: boolean;
    preferSmallModel: boolean;
    task: 'crescendo' | 'goat' | 'iterative' | 'iterative:image' | 'iterative:tree' | 'judge';
}
export declare class TrusysChatCompletionProvider implements ApiProvider {
    private options;
    constructor(options: TrusysChatCompletionOptions);
    id(): string;
    toString(): string;
    callApi(prompt: string, context?: CallApiContextParams, callApiOptions?: CallApiOptionsParams): Promise<ProviderResponse>;
}
interface TrusysAgentOptions {
    env?: EnvOverrides;
    id?: string;
    instructions?: string;
}
export declare class TrusysSimulatedUserProvider implements ApiProvider {
    private options;
    constructor(options?: TrusysAgentOptions);
    id(): string;
    toString(): string;
    callApi(prompt: string, context?: CallApiContextParams, callApiOptions?: CallApiOptionsParams): Promise<ProviderResponse>;
}
export {};
//# sourceMappingURL=trusys.d.ts.map