export declare const DEEPMIND_V1BETA_MODELS_COUNT_TOKENS_ENDPOINT: "/v1beta/models/{model}:countTokens";
export declare const DEFAULT_DEEPMIND_V1BETA_MODELS_COUNT_TOKENS_BASE_URL: "https://generativelanguage.googleapis.com";
export type DeepMindV1BetaModelsCountTokensBoundary = "input" | "contract" | "governance" | "provider" | "timeout" | "response";
export type DeepMindV1BetaModelsCountTokensErrorCode = "MISSING_REQUEST" | "MISSING_MODEL" | "MISSING_REQUEST_BODY" | "MISSING_AUTH_TOKEN" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "TRANSPORT_UNAVAILABLE" | "PROVIDER_AUTH_FAILED" | "PROVIDER_RATE_LIMITED" | "PROVIDER_TIMEOUT" | "PROVIDER_UNAVAILABLE" | "PROVIDER_ERROR" | "RESPONSE_FORMAT_DRIFT";
export type DeepMindV1BetaModelsCountTokensGate = {
    accepted: boolean;
    reason?: string;
};
export type DeepMindV1BetaModelsCountTokensRuntimeContext = {
    runtimeId?: string;
    invocationId?: string;
    traceId?: string;
};
export type DeepMindV1BetaModelsCountTokensBody = Readonly<Record<string, unknown>>;
export type DeepMindV1BetaModelsCountTokensProviderEnvelope = {
    provider: "deepmind";
    apiVersion: "v1beta";
    endpoint: typeof DEEPMIND_V1BETA_MODELS_COUNT_TOKENS_ENDPOINT;
    operation: "count-tokens";
    method: "POST";
    model: string;
    url: string;
    headers: Readonly<Record<string, string>>;
    body: DeepMindV1BetaModelsCountTokensBody;
    timeoutMs: number;
    dryRun: boolean;
    providerCallPlanned: boolean;
    runtime: DeepMindV1BetaModelsCountTokensRuntimeContext;
    providerFieldsOpaque: true;
};
export type DeepMindV1BetaModelsCountTokensProviderResult = {
    statusCode: number;
    body: unknown;
    headers?: Readonly<Record<string, string>>;
};
export type DeepMindV1BetaModelsCountTokensTransport = (envelope: DeepMindV1BetaModelsCountTokensProviderEnvelope) => Promise<DeepMindV1BetaModelsCountTokensProviderResult> | DeepMindV1BetaModelsCountTokensProviderResult;
export type DeepMindV1BetaModelsCountTokensRequest = {
    baseUrl?: string;
    apiKey?: string;
    model?: string;
    body?: DeepMindV1BetaModelsCountTokensBody;
    timeoutMs?: number;
    dryRun?: boolean;
    runtime?: DeepMindV1BetaModelsCountTokensRuntimeContext;
    contract?: DeepMindV1BetaModelsCountTokensGate;
    governance?: DeepMindV1BetaModelsCountTokensGate;
    transport?: DeepMindV1BetaModelsCountTokensTransport;
};
export type DeepMindV1BetaModelsCountTokensResponseEnvelope = {
    kind: "dry-run" | "provider";
    statusCode?: number;
    body: unknown;
    headers?: Readonly<Record<string, string>>;
    providerFieldsOpaque: true;
};
export type DeepMindV1BetaModelsCountTokensCapabilitySignal = {
    provider: "deepmind";
    endpoint: typeof DEEPMIND_V1BETA_MODELS_COUNT_TOKENS_ENDPOINT;
    operation: "count-tokens";
    rawShape: "token-count" | "dry-run";
};
export type DeepMindV1BetaModelsCountTokensError = {
    code: DeepMindV1BetaModelsCountTokensErrorCode;
    message: string;
    boundary: DeepMindV1BetaModelsCountTokensBoundary;
    statusCode?: number;
};
export type DeepMindV1BetaModelsCountTokensResult = {
    ok: true;
    envelope: DeepMindV1BetaModelsCountTokensProviderEnvelope;
    response: DeepMindV1BetaModelsCountTokensResponseEnvelope;
    capability: DeepMindV1BetaModelsCountTokensCapabilitySignal;
    events: readonly string[];
} | {
    ok: false;
    error: DeepMindV1BetaModelsCountTokensError;
    envelope?: DeepMindV1BetaModelsCountTokensProviderEnvelope;
    events: readonly string[];
};
export declare function invokeDeepMindV1BetaModelsCountTokens(request?: DeepMindV1BetaModelsCountTokensRequest): Promise<DeepMindV1BetaModelsCountTokensResult>;
