/**
 * GeminiCodeAssistIdeAdapter -- Google Gemini Code Assist adapter.
 *
 * Gemini Code Assist (formerly Duet AI for Developers) is the natural
 * governance pair with the Google ADK orchestrator adapter
 * (P3-SUB-ADAPT-02, src/orchestrator-adapters/google-adk.ts). The same
 * Google Cloud / Vertex AI data-residency region list applies to both.
 *
 * Hook surfaces:
 *   Standard six (shared contract across all IDE adapters):
 *   completionRequested(file, cursor, context) -- pre-completion gate.
 *     Classifier checks surrounding code context for secrets, PHI
 *     indicators, and trade-secret markers before the request leaves the
 *     IDE. Under HIPAA/HITECH binding, PHI-bearing completions require
 *     reviewer approval.
 *   completionReceived(completion, context) -- post-completion ingress.
 *     Scans the returned completion for leaked secret patterns.
 *   chatRequested(prompt, context) -- pre-chat gate. Secret scan + PHI
 *     check on the prompt body and any attached file context.
 *   chatReceived(response) -- post-chat ingress classification.
 *   suggestionAccepted(suggestion, targetFile) -- audit on acceptance,
 *     links accepted code to its originating completion.
 *   suggestionRejected(suggestion, reason) -- optional audit event.
 *
 *   Gemini Code Assist-specific surfaces:
 *   cloudWorkspaceOperationRequested(workspace, operation) -- Gemini
 *     Code Assist can interact with Google Cloud Workspaces (Cloud Code,
 *     Cloud Shell, Cloud Run). Cloud-destructive operations (delete, stop,
 *     undeploy) require explicit approval. (PT-ADAPT-GEMINI-3)
 *   dataSovereigntyCheckRequested(region, dataClass) -- Vertex AI has
 *     data-residency commitments tied to Google Cloud regions. Under
 *     HIPAA binding, only HIPAA-eligible Vertex AI regions are permitted.
 *     (PT-ADAPT-GEMINI-1)
 *   duetCodeCitationReceived(citation) -- Gemini Code Assist surfaces
 *     license citations for generated code. Adapter enforces pack-binding
 *     license policy (GPL gate, attribution requirement).
 *     (PT-ADAPT-GEMINI-2)
 *
 * Google Cloud-specific considerations:
 *   - Vertex AI region compliance: HIPAA-eligible Vertex AI regions are
 *     listed in GEMINI_HIPAA_ELIGIBLE_REGIONS. Non-eligible regions are
 *     blocked under HIPAA/HITECH pack binding.
 *   - GDPR/DPA: European Vertex AI regions map to EU data-processing
 *     agreements. GDPR binding enforces EU-only or explicitly-adequate
 *     regions.
 *   - Code citation: Gemini Code Assist surfaces license attributions
 *     for generated code. Copyleft (GPL, AGPL, LGPL) licenses are blocked
 *     under SOC 2 / enterprise pack bindings.
 *   - Cloud Workspace operations: Cloud Code can create, deploy, and
 *     delete Cloud Run services and Cloud Functions. Destructive operations
 *     require explicit approval (G4 Destructive Command Guard equivalent).
 *
 * Spec: P3-SUB-IDE-05
 *
 * @connexum/ai-governance
 */
import { BaseIdeAdapter } from './base';
import { type IdeAdapterConfig, type IdeAdapterCapabilities, type IdeSessionContext, type ToolInvocationContext, type ToolInvocationDecision, type UserIdentity, type ReviewerTier } from './index';
export declare const GEMINI_HIPAA_ELIGIBLE_REGIONS: readonly string[];
export declare const GEMINI_GDPR_ADEQUATE_REGIONS: readonly string[];
export interface GeminiCodeAssistAdapterConfig extends IdeAdapterConfig {
    /**
     * Google Cloud region where Vertex AI / Gemini Code Assist is running.
     * Used to enforce data-residency under HIPAA and GDPR pack bindings.
     * Default: 'us-central1'
     */
    gcpRegion?: string;
    /**
     * Whether to enforce copyleft license blocking for code citations.
     * When true, GPL/AGPL/LGPL citations are denied under any pack binding.
     * When false (default for non-enterprise packs), they are allowed with WARN.
     */
    blockCopyleftCitations?: boolean;
    /** Reviewer tier for PHI-bearing completions. Default: T2_LEAD */
    hipaaReviewerTier?: ReviewerTier;
    /** Reviewer tier for destructive Cloud Workspace operations. Default: T3_SECURITY */
    cloudDestructiveReviewerTier?: ReviewerTier;
}
export interface GeminiCloudWorkspaceContext {
    workspaceName: string;
    operation: string;
    resourceType?: string;
    gcpProject?: string;
    region?: string;
    sessionId?: string;
}
export interface GeminiCodeCitationContext {
    spdxLicense?: string;
    licenseText?: string;
    sourceUrl?: string;
    codeSnippet?: string;
    sessionId?: string;
}
export interface GeminiDataSovereigntyContext {
    gcpRegion: string;
    dataClass: string;
    sessionId?: string;
}
export declare class GeminiCodeAssistIdeAdapter extends BaseIdeAdapter {
    readonly adapterId = "gemini-code-assist";
    readonly ideId = "gemini-code-assist";
    private gcaConfig;
    initialize(config: IdeAdapterConfig): void;
    resolveUserIdentity(session: IdeSessionContext): Promise<UserIdentity>;
    interceptToolInvocation(ctx: ToolInvocationContext): Promise<ToolInvocationDecision>;
    private _gateCompletionRequest;
    private _scanCompletionResponse;
    private _gateChatRequest;
    private _scanChatResponse;
    private _auditSuggestionAccepted;
    private _auditSuggestionRejected;
    cloudWorkspaceOperationRequested(ctx: GeminiCloudWorkspaceContext): Promise<ToolInvocationDecision>;
    dataSovereigntyCheckRequested(ctx: GeminiDataSovereigntyContext): Promise<ToolInvocationDecision>;
    duetCodeCitationReceived(ctx: GeminiCodeCitationContext): Promise<ToolInvocationDecision>;
    private _gateCloudWorkspaceOperation;
    private _gateDataSovereignty;
    private _gateCitationReceived;
    getIdeCapabilities(): IdeAdapterCapabilities;
    translateError(raw: unknown): import('./index').IdeAdapterError;
    private _scanForSecrets;
    private _scanForPhiIndicators;
    private _detectCopyleftLicense;
    private _isHipaaBinding;
    private _isGdprBinding;
    private _isRegulatedBinding;
    /**
     * Check region compliance for a tool invocation context.
     * Returns a DENY decision if non-compliant, or null if compliant.
     * Used by completion and chat gates (PT-ADAPT-GEMINI-1).
     */
    private _checkRegionCompliance;
    /** Expose the configured GCP region for diagnostics / tests. */
    getGcpRegion(): string;
}
//# sourceMappingURL=gemini-code-assist.d.ts.map