export interface AwsPrivateLinkConnectivityInfo { roleArn: string; availabilityZones: string[]; } export interface PublicEndpointConnectivityInfo { outboundIpAddresses: string[]; } export declare const CONNECTIVITY_TYPES: readonly ["awsPrivateLink", "publicEndpoint"]; export type ConnectivityType = (typeof CONNECTIVITY_TYPES)[number]; export type PrivateLinkEndpointState = 'Initialized' | 'Provisioning' | 'PendingAcceptance' | 'Available' | 'Deleting' | 'Failed'; export interface ConnectPrivateLinkResult { endpointId: string; state: PrivateLinkEndpointState; serviceName: string; errorMessage?: string; vpceId?: string; } export interface AwsPrivateLinkConfig { connect: (serviceName: string) => Promise; getPrivateLink: (endpointId: string) => Promise; getInfo?: () => Promise; } export interface PublicEndpointConfig { getInfo?: () => Promise; } interface ConnectivityConfigMap { awsPrivateLink: AwsPrivateLinkConfig; publicEndpoint: PublicEndpointConfig; } export type SourceConnectivityConfig = { [K in ConnectivityType]?: ConnectivityConfigMap[K]; }; export {};