import { ConfigService } from '@nestjs/config';
import { type AnaliseGerada, type AnalysisGenerationContext, type IaInput, type IaProviderResult, type PerguntasGeradas, type ProvedorIa, type QuestionGenerationContext, type RodadaAyaGerada } from './provedor-ia';
export declare class GeminiProvider implements ProvedorIa {
    private readonly config;
    readonly name: "gemini";
    readonly usesRemoteQuota = true;
    readonly model: string;
    private readonly client;
    private readonly configuredMaxOutputTokens;
    constructor(config: ConfigService);
    gerarPerguntas(context: QuestionGenerationContext): Promise<IaProviderResult<PerguntasGeradas>>;
    gerarAnalise(context: AnalysisGenerationContext): Promise<IaProviderResult<AnaliseGerada>>;
    executarRodadaAya(input: IaInput): Promise<IaProviderResult<RodadaAyaGerada>>;
    private generate;
    private composeSystemInstruction;
    private buildUserContent;
    private sanitizeForModel;
    private isSensitiveKey;
    private redactSensitiveText;
    private safeJsonStringify;
    private assertOutputPolicy;
    private collectTextFragments;
    private assertValidInput;
    private assertResponseWasNotBlocked;
    private normalizeError;
    private readHttpStatus;
    private toNumericStatus;
    private readPositiveInteger;
}
