import type { CustomAIApplicationProviderConfig } from '../util/customAIApplication/types';
import { prepareAzureSessionsForTestRunProviders } from '../util/azureSessions/prepareSessionBundle';
import type { ApiProvider, CallApiContextParams, CallApiOptionsParams, ProviderOptions, ProviderResponse } from '../types';
type AzureSessionsCustomAIConfig = CustomAIApplicationProviderConfig & {
    applicationId?: string;
    trusysAccessToken?: string;
    trusysApiKey?: string;
    /** When set, all eval calls for this application reuse one Azure session for the test run. */
    testRunId?: string;
};
export { prepareAzureSessionsForTestRunProviders };
export declare class AzureSessionsCustomAIProvider implements ApiProvider {
    config: AzureSessionsCustomAIConfig;
    label?: string;
    constructor(options?: ProviderOptions);
    id(): string;
    callApi(prompt: string, context?: CallApiContextParams, _options?: CallApiOptionsParams): Promise<ProviderResponse>;
}
export declare class CustomAICliOnlyProvider implements ApiProvider {
    label?: string;
    constructor(options?: ProviderOptions);
    id(): string;
    callApi(): Promise<ProviderResponse>;
}
//# sourceMappingURL=azureSessionsCustomAI.d.ts.map