export declare const pipelineConfigWire: { sources: { source: { type: string; connection: { type: string; host: string; port: number; user: string; password: string; }; databases: string[]; }; }; targets: { target: { connection: { type: string; host: string; port: number; }; }; }; processors: { target_data_type: "hash"; read_batch_size: number; }; jobs: never[]; }; export declare function makeV2PipelineWire(overrides?: Record): { name: string; active: boolean; config: { sources: { source: { type: string; connection: { type: string; host: string; port: number; user: string; password: string; }; databases: string[]; }; }; targets: { target: { connection: { type: string; host: string; port: number; }; }; }; processors: { target_data_type: "hash"; read_batch_size: number; }; jobs: never[]; }; status: string; current: boolean; components: { name: string; type: string; version: string; status: string; metric_collections: string[]; }[]; }; /** * Status wire for a source's collector component. A multi-source pipeline * reports one per source (`collector-`); the component lingers * while RDI is still tearing a removed source down. */ export interface CollectorComponentWireOptions { sourceType?: string; status?: string; errors?: Array<{ code?: string; message?: string; }>; } export declare function makeCollectorComponentWire(sourceName: string, { sourceType, status, errors }?: CollectorComponentWireOptions): { errors?: { code?: string; message?: string; }[] | undefined; name: string; type: string; source: string; version: string; status: string; } | { errors?: { code?: string; message?: string; }[] | undefined; name: string; type: string; source: string; version: string; status: string; metric_collections: string[]; }; /** * Status wire for the pipeline's processor component — typed after the * processor RDI runs: `flink-processor` or `processor` (classic). */ export declare function makeProcessorComponentWire(processorType?: 'classic' | 'flink', flinkProcessorReplicas?: number, status?: 'started' | 'stopped'): { replicas?: number | undefined; name: string; type: string; version: string; status: "stopped" | "started"; }; /** * @param sourceNames when given, the pipeline reports one collector component * per source — alongside the pipeline-wide `collector-api` component RDI always * reports, which shares the `collector-` name prefix without being a source. * Otherwise it reports the single `collector-source` of a pre-multi-source * pipeline. * @param processorType which processor component the pipeline reports. */ interface PipelineStatusWireOptions { processorType?: 'classic' | 'flink'; flinkProcessorReplicas?: number; flinkProcessorStatus?: 'started' | 'stopped'; sourceTypes?: Record; collectorStatus?: string; collectorErrors?: Array<{ code?: string; message?: string; }>; } export declare function makeV2PipelineStatusWire(overrides?: Record, sourceNames?: string[], processorTypeOrOptions?: 'classic' | 'flink' | PipelineStatusWireOptions): { status: string; status_changed_at: string; current: boolean; components: { name: string; type: string; version: string; status: string; }[]; }; export declare function makeMetricCollectionWire(overrides?: Record): { name: string; component: string; metrics: { streaming: { Connected: number; MilliSecondsBehindSource: number; MilliSecondsSinceLastEvent: number; TotalNumberOfEventsSeen: number; NumberOfErroneousEvents: number; QueueRemainingCapacity: number; QueueTotalCapacity: number; }; snapshot: { SnapshotRunning: number; SnapshotCompleted: number; TotalTableCount: number; RemainingTableCount: number; SnapshotDurationInSeconds: number; }; }; }; /** * Metric-collection list wire: the processor collection plus one collector per * source (`collector-`), as a multi-source pipeline reports it. */ export declare function makeMetricCollectionsWire(collectorStates?: Record): ({ name: string; component: string; metrics: { streaming: { Connected: number; }; snapshot: { SnapshotRunning: number; }; }; } | { name: string; component: string; metrics: {}; })[]; export declare function makeActionIdWire(actionId?: string): { action_id: string; }; export declare function makeV1StatusWire(overrides?: Record): { components: { collector: { status: string; connected: boolean; version: string; }; target: { status: string; connected: boolean; version: string; }; }; pipelines: { 'my-pipeline': { status: string; state: string; last_error: string; tasks: { name: string; status: string; created_at: string; }[]; }; }; }; export declare function makeSourceDryRunWire(overrides?: Record): { connected: boolean; error: string; }; export declare function makeTargetDryRunWire(overrides?: Record): { connected: boolean; error: string; }; export declare function makeActionStatusWire(overrides?: Record): { action_id: string; status: string; }; export declare function makeOperationResponseWire(overrides?: Record): { status: boolean; }; export declare function makeJobDryRunWire(overrides?: Record): { transformation: { id: string; name: string; }[]; output: { key: string; value: { id: string; name: string; }; }[]; }; export declare function makeInfoWire(version?: string): { version: string; }; export declare function makeDlqStreamsWire(): { 'chinook.public.Customer': { total_count: number; }; 'oracle.MB_UAT_CUSTOM11.CUSTOMER_ACCOUNT': { total_count: number; }; 'oracle.MB_UAT_CUSTOM11.GENERAL_ACCT_MAST_TABLE': { total_count: number; }; }; export declare function makeChinookCustomerDlqRecordsWire(): { records: { __dlq_stream_entry_id: string; reason_rejected: string; source: string; timestamp: string; opcode: string; table: string; }[]; }; export declare function makeDlqStreamWire(streamName?: string, totalCount?: number): { [streamName]: { total_count: number; }; }; export declare function makeDlqRecordsWire(): { records: ({ __dlq_stream_entry_id: string; source: string; reason_rejected: string; timestamp?: undefined; } | { __dlq_stream_entry_id: string; source: string; timestamp: string; reason_rejected: string; })[]; }; export declare function makeValidationErrorWire(overrides?: Record): { detail: string; errors: { code: string; message: string; details: { host: string; }; }[]; }; export declare function makeStatisticsWire(overrides?: Record): { connections: { 'source-postgresql': { type: string; host: string; port: number; user: string; password: string; status: string; }; }; data_streams: { totals: { total: number; pending: number; inserted: number; updated: number; deleted: number; filtered: number; rejected: number; }; streams: { '{rdi}:source-postgresql.chinook.public.Customer': { total: number; pending: number; inserted: number; updated: number; deleted: number; filtered: number; rejected: number; last_arrival: string; }; '{rdi}:source-mysql.oracle.MB_UAT_CUSTOM11.CUSTOMER_ACCOUNT': { total: number; pending: number; inserted: number; updated: number; deleted: number; filtered: number; rejected: number; last_arrival: string; }; '{rdi}:source-mysql.oracle.MB_UAT_CUSTOM11.GENERAL_ACCT_MAST_TABLE': { total: number; pending: number; inserted: number; updated: number; deleted: number; filtered: number; rejected: number; last_arrival: string; }; '{rdi}:source-oracle.oracle.MB_UAT_CUSTOM11.ACCOUNT_BALANCE': { total: number; pending: number; inserted: number; updated: number; deleted: number; filtered: number; rejected: number; last_arrival: string; }; }; }; processing_performance: { total_batches: number; batch_size_avg: number; read_time_avg: number; transform_time_avg: number; write_time_avg: number; process_time_avg: number; ack_time_avg: number; total_time_avg: number; rec_per_sec_avg: number; }; rdi_pipeline_status: { rdi_version: string; address: string; run_status: string; sync_mode: string; }; clients: { worker: { id: string; addr: string; age_sec: number; idle_sec: number; user: string; }; }; offsets: {}; snapshot_status: string; }; /** * Reshapes a classic statistics wire into the shape the *Flink* processor reports: * `incoming` instead of `total`, and `throughput` / `checkpoint` / `job` instead of * `processing_performance` / `rdi_pipeline_status`. * * Derived from the classic wire rather than hand-written so every statistics mock * knob (e.g. `sourceTableRows`) keeps working in both processor modes. */ export declare function toFlinkProcessorMetricsWire(statistics: Record): { data_streams: { totals: { incoming: number; }; streams: { [k: string]: { incoming: number; }; }; }; source: { connected: boolean; pending_ack: number; }; sink: { connected: boolean; last_modified: string; }; throughput: { source_records_per_sec: number; sink_records_per_sec: number; }; utilization: { busy_time_ms_per_sec: number; idle_time_ms_per_sec: number; back_pressured_time_ms_per_sec: number; }; checkpoint: { completed_count: number; }; job: { status: string; status_time_ms: number; num_restarts: number; }; }; export declare function makeConfigSchemasWire(overrides?: Record): { title: string; type: string[]; properties: { processors: { type: string[]; properties: { read_batch_size: { title: string; description: string; type: string[]; default: number; 'x-ui-expose': string[]; }; error_handling: { title: string; default: string; 'x-ui-expose': string[]; oneOf: ({ type: string; pattern: string; enum?: undefined; } | { type: string; enum: string[]; pattern?: undefined; })[]; }; }; }; }; }; export { makeSchemasWire, makeMetadataWire, makeV2SchemasWire, makeV2SchemasBody, makeV2SchemasBodyForSource, type SourceColumnMock, type SourceMetadataMock } from './fixtures/schemaFixtures';