import * as z from "zod/v3"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { GCPPubSubConfig, GCPPubSubConfig$Outbound } from "./gcppubsubconfig.js"; import { GCPPubSubCredentials, GCPPubSubCredentials$Outbound } from "./gcppubsubcredentials.js"; import { Topics, Topics$Outbound } from "./topics.js"; export type DestinationGCPPubSub = { /** * Control plane generated ID or user provided ID for the destination. */ id: string; /** * Type of the destination. */ type: "gcp_pubsub"; /** * "*" or an array of enabled topics. */ topics: Topics; /** * Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. * * @remarks * Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. * If null or empty, all events matching the topic filter will be delivered. * To remove an existing filter when updating a destination, set filter to an empty object `{}`. */ filter?: { [k: string]: any; } | null | undefined; /** * ISO Date when the destination was disabled, or null if enabled. */ disabledAt: Date | null; /** * ISO Date when the destination was created. */ createdAt: Date; /** * ISO Date when the destination was last updated. */ updatedAt: Date; config: GCPPubSubConfig; credentials: GCPPubSubCredentials; /** * Static key-value pairs merged into event metadata on every attempt. */ deliveryMetadata?: { [k: string]: string; } | null | undefined; /** * Arbitrary contextual information stored with the destination. */ metadata?: { [k: string]: string; } | null | undefined; /** * A human-readable representation of the destination target (project/topic). Read-only. */ target?: string | undefined; /** * A URL link to the destination target (GCP Console link to the topic). Read-only. */ targetUrl?: string | null | undefined; }; /** @internal */ export declare const DestinationGCPPubSub$inboundSchema: z.ZodType; /** @internal */ export type DestinationGCPPubSub$Outbound = { id: string; type: "gcp_pubsub"; topics: Topics$Outbound; filter?: { [k: string]: any; } | null | undefined; disabled_at: string | null; created_at: string; updated_at: string; config: GCPPubSubConfig$Outbound; credentials: GCPPubSubCredentials$Outbound; delivery_metadata?: { [k: string]: string; } | null | undefined; metadata?: { [k: string]: string; } | null | undefined; target?: string | undefined; target_url?: string | null | undefined; }; /** @internal */ export declare const DestinationGCPPubSub$outboundSchema: z.ZodType; export declare function destinationGCPPubSubToJSON(destinationGCPPubSub: DestinationGCPPubSub): string; export declare function destinationGCPPubSubFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=destinationgcppubsub.d.ts.map