export declare const DEEPMIND_V1BETA_CACHED_CONTENTS_ENDPOINT: "/v1beta/cachedContents";
export type DeepmindV1BetaCachedContentsMethod = "GET" | "POST" | "PATCH" | "DELETE";
export type DeepmindV1BetaCachedContentsGate = {
    accepted: boolean;
    reason?: string;
};
export type DeepmindV1BetaCachedContentsRuntimeContext = {
    runtimeId?: string;
    correlationId?: string;
    callerId?: string;
};
export type DeepmindV1BetaCachedContentsAuthEnvelope = {
    kind: "api-key" | "oauth" | "none";
    present: boolean;
    redactedToken?: string;
};
export type DeepmindV1BetaCachedContentsRequestEnvelope = {
    provider: "deepmind-gemini";
    apiVersion: "v1beta";
    endpoint: typeof DEEPMIND_V1BETA_CACHED_CONTENTS_ENDPOINT;
    operation: string;
    method: DeepmindV1BetaCachedContentsMethod;
    urlPath: string;
    query: Readonly<Record<string, string>>;
    headers: Readonly<Record<string, string>>;
    body?: unknown;
    runtime: Required<DeepmindV1BetaCachedContentsRuntimeContext>;
    requestedScopes: readonly string[];
    grantedScopes: readonly string[];
    dryRun: boolean;
    unsafeSideEffects: false;
    providerFieldsOpaque: true;
};
export type DeepmindV1BetaCachedContentsProviderCaller = (envelope: DeepmindV1BetaCachedContentsRequestEnvelope) => unknown | Promise<unknown>;
export type DeepmindV1BetaCachedContentsInvocationRequest = {
    operation?: string;
    method?: DeepmindV1BetaCachedContentsMethod;
    pathSuffix?: string;
    query?: Readonly<Record<string, string | number | boolean | undefined>>;
    headers?: Readonly<Record<string, string | undefined>>;
    body?: unknown;
    auth?: DeepmindV1BetaCachedContentsAuthEnvelope;
    runtime?: DeepmindV1BetaCachedContentsRuntimeContext;
    requiredScopes?: readonly string[];
    allowedScopes?: readonly string[];
    contract?: DeepmindV1BetaCachedContentsGate;
    governance?: DeepmindV1BetaCachedContentsGate;
    dryRun?: boolean;
    mockResponse?: unknown;
    expectResponseObject?: boolean;
    caller?: DeepmindV1BetaCachedContentsProviderCaller;
};
export type DeepmindV1BetaCachedContentsErrorCode = "MISSING_OPERATION" | "MISSING_RUNTIME_ID" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "AUTH_REJECTED" | "CALLER_REQUIRED" | "PROVIDER_AUTH_FAILED" | "PROVIDER_RATE_LIMITED" | "PROVIDER_TIMEOUT" | "PROVIDER_UNAVAILABLE" | "RESPONSE_FORMAT_DRIFT" | "CALLER_FAILED";
export type DeepmindV1BetaCachedContentsError = {
    code: DeepmindV1BetaCachedContentsErrorCode;
    message: string;
    boundary: "input" | "contract" | "governance" | "auth" | "scope" | "provider";
    retryable: boolean;
};
export type DeepmindV1BetaCachedContentsProviderResponseEnvelope = {
    provider: "deepmind-gemini";
    endpoint: typeof DEEPMIND_V1BETA_CACHED_CONTENTS_ENDPOINT;
    mode: "dry-run" | "mock" | "caller";
    raw: unknown;
    providerFieldsOpaque: true;
};
export type DeepmindV1BetaCachedContentsInvocationResult = {
    ok: true;
    request: DeepmindV1BetaCachedContentsRequestEnvelope;
    response: DeepmindV1BetaCachedContentsProviderResponseEnvelope;
    events: readonly string[];
} | {
    ok: false;
    error: DeepmindV1BetaCachedContentsError;
    request?: DeepmindV1BetaCachedContentsRequestEnvelope;
    events: readonly string[];
};
export declare function classifyDeepmindV1BetaCachedContentsProviderError(error: unknown): DeepmindV1BetaCachedContentsErrorCode;
export declare function invokeDeepmindV1BetaCachedContents(input?: DeepmindV1BetaCachedContentsInvocationRequest): Promise<DeepmindV1BetaCachedContentsInvocationResult>;
