import type { CliToolAdapter, ToolModel, ToolSkillsData, UsageInfo } from './types';
import type { ChatBlock } from '../session-manager';
export declare class GeminiAdapter implements CliToolAdapter {
    readonly tool = "gemini";
    buildCommand(permissionMode: 'limited' | 'unlimited', continueSession: boolean): string;
    supportsContinue(): boolean;
    getSessionDir(folderPath: string): string | null;
    getSessionFileExtension(): string;
    getSessionFilesForProject(folderPath: string): string[];
    /** Parse the entire session JSON file into all ChatBlocks. */
    parseSessionFile(content: string): ChatBlock[];
    parseLineBlocks(_line: string): ChatBlock | null;
    getHooksSettingsPath(): string | null;
    getHookEvents(): string[];
    /**
     * Gemini CLI hooks receive JSON on stdin and write JSON to stdout.
     * We build a small shell pipeline: read stdin, extract fields with jq,
     * then curl the ccweb API. This avoids relying on env vars that may not exist.
     */
    buildHookCommand(event: string, portFile: string): string | null;
    getCurrentModel(): string | null;
    getAvailableModels(): ToolModel[];
    getSkills(): ToolSkillsData | null;
    queryUsage(): Promise<UsageInfo>;
    clearUsageCache(): void;
    getProjectInstructionsFilename(): string;
}
//# sourceMappingURL=gemini-adapter.d.ts.map