export type AnalyzeBehavior = 'show_menu' | 'ask_then_menu' | 'auto_upload' | 'skip';
export interface DecideInput {
    isTTY: boolean;
    aiAnalyticsFlag: boolean;
}
export declare function decideAnalyzeBehavior(input: DecideInput): AnalyzeBehavior;
export declare function writeLocalAiFile(jobId: string): Promise<string>;
export interface PostAnalyzeInput {
    apiHost: string;
    apikey: string;
    jobId: string;
    appId: string;
    logs: string;
}
export type PostAnalyzeResult = {
    kind: 'ok';
    analysis: string;
} | {
    kind: 'already_analyzed';
} | {
    kind: 'too_big';
} | {
    kind: 'error';
    status?: number;
    message?: string;
};
export declare function postAnalyzeRequest(input: PostAnalyzeInput): Promise<PostAnalyzeResult>;
export declare const HARD_LOG_SIZE_LIMIT: number;
export declare function isLogTooBig(jobId: string): Promise<boolean>;
export interface RunCapgoAiAnalysisInput {
    apiHost: string;
    apikey: string;
    jobId: string;
    appId: string;
}
export declare function runCapgoAiAnalysis(input: RunCapgoAiAnalysisInput): Promise<PostAnalyzeResult>;
export declare function releaseCapturedLogs(jobId: string): Promise<void>;
