import * as z from "zod/v4";
import { OpenEnum } from "../types/enums.js";
import { ObservabilityFilterRulesConfigNullable, ObservabilityFilterRulesConfigNullable$Outbound } from "./observabilityfilterrulesconfignullable.js";
/**
 * The destination type. Only stable destination types are accepted.
 */
export declare const CreateObservabilityDestinationRequestType: {
    readonly Arize: "arize";
    readonly Braintrust: "braintrust";
    readonly Clickhouse: "clickhouse";
    readonly Datadog: "datadog";
    readonly Grafana: "grafana";
    readonly Langfuse: "langfuse";
    readonly Langsmith: "langsmith";
    readonly Newrelic: "newrelic";
    readonly Opik: "opik";
    readonly OtelCollector: "otel-collector";
    readonly Posthog: "posthog";
    readonly Ramp: "ramp";
    readonly S3: "s3";
    readonly Sentry: "sentry";
    readonly Snowflake: "snowflake";
    readonly Weave: "weave";
    readonly Webhook: "webhook";
};
/**
 * The destination type. Only stable destination types are accepted.
 */
export type CreateObservabilityDestinationRequestType = OpenEnum<typeof CreateObservabilityDestinationRequestType>;
export type CreateObservabilityDestinationRequest = {
    /**
     * Optional allowlist of OpenRouter API key hashes whose traffic is forwarded. `null` or omitted means all keys. Must contain at least one hash if provided.
     */
    apiKeyHashes?: Array<string> | null | undefined;
    /**
     * When true, include cost and billing generation metadata.
     */
    broadcastGenerationCost?: boolean | undefined;
    /**
     * When true, include identity generation metadata.
     */
    broadcastGenerationIdentity?: boolean | undefined;
    /**
     * When true, include request-context generation metadata.
     */
    broadcastGenerationRequestContext?: boolean | undefined;
    /**
     * Provider-specific configuration. The shape depends on `type` and is validated server-side.
     */
    config: {
        [k: string]: any;
    };
    /**
     * Whether this destination should be enabled immediately.
     */
    enabled?: boolean | undefined;
    /**
     * Optional structured filter rules controlling which events are forwarded.
     */
    filterRules?: ObservabilityFilterRulesConfigNullable | null | undefined;
    /**
     * Human-readable name for the destination.
     */
    name: string;
    /**
     * When true, request/response bodies are not forwarded — only metadata.
     */
    privacyMode?: boolean | undefined;
    /**
     * Sampling rate between 0.0001 and 1 (1 = 100%).
     */
    samplingRate?: number | undefined;
    /**
     * The destination type. Only stable destination types are accepted.
     */
    type: CreateObservabilityDestinationRequestType;
    /**
     * Optional workspace ID. Defaults to the authenticated entity's default workspace.
     */
    workspaceId?: string | undefined;
};
/** @internal */
export declare const CreateObservabilityDestinationRequestType$outboundSchema: z.ZodType<string, CreateObservabilityDestinationRequestType>;
/** @internal */
export type CreateObservabilityDestinationRequest$Outbound = {
    api_key_hashes?: Array<string> | null | undefined;
    broadcast_generation_cost: boolean;
    broadcast_generation_identity: boolean;
    broadcast_generation_request_context: boolean;
    config: {
        [k: string]: any;
    };
    enabled: boolean;
    filter_rules?: ObservabilityFilterRulesConfigNullable$Outbound | null | undefined;
    name: string;
    privacy_mode: boolean;
    sampling_rate?: number | undefined;
    type: string;
    workspace_id?: string | undefined;
};
/** @internal */
export declare const CreateObservabilityDestinationRequest$outboundSchema: z.ZodType<CreateObservabilityDestinationRequest$Outbound, CreateObservabilityDestinationRequest>;
export declare function createObservabilityDestinationRequestToJSON(createObservabilityDestinationRequest: CreateObservabilityDestinationRequest): string;
//# sourceMappingURL=createobservabilitydestinationrequest.d.ts.map