import { destructor } from '@synnaxlabs/x'; import { z } from 'zod'; import { Factory } from './factory'; import { AbstractSink, AbstractSource, Sink, SinkSpec, SinkTransformer, Source, SourceSpec, SourceTransformer, Spec, Telem } from './telem'; export declare const connectionZ: z.ZodObject<{ from: z.ZodString; to: z.ZodString; }, z.core.$strip>; export type Connection = z.infer; export declare const sourcePipelinePropsZ: z.ZodObject<{ connections: z.ZodArray>; outlet: z.ZodString; segments: z.ZodRecord>>; variant: z.ZodLiteral<"source">; }, z.core.$strip>>; }, z.core.$strip>; export type SourcePipelineProps = z.infer; export declare class PipelineFactory implements Factory { type: string; factory: Factory; constructor(factory: Factory); create(spec: Spec): Telem | null; } export declare class SourcePipeline extends AbstractSource implements Source { static readonly TYPE = "source-pipeline"; schema: z.ZodObject<{ connections: z.ZodArray>; outlet: z.ZodString; segments: z.ZodRecord>>; variant: z.ZodLiteral<"source">; }, z.core.$strip>>; }, z.core.$strip>; sources: Record | SourceTransformer>; private get outlet(); constructor(props: unknown, factory: Factory); value(): V; onChange(handler: () => void): destructor.Destructor; cleanup(): void; } export declare const sourcePipeline: (valueType: V, props: SourcePipelineProps) => SourceSpec; export declare const sinkPipelinePropsZ: z.ZodObject<{ connections: z.ZodArray>; inlet: z.ZodString; segments: z.ZodRecord>>; variant: z.ZodLiteral<"sink">; }, z.core.$strip>>; }, z.core.$strip>; export type SinkPipelineProps = z.infer; export declare class SinkPipeline extends AbstractSink implements Sink { static readonly TYPE = "sink-pipeline"; schema: z.ZodObject<{ connections: z.ZodArray>; inlet: z.ZodString; segments: z.ZodRecord>>; variant: z.ZodLiteral<"sink">; }, z.core.$strip>>; }, z.core.$strip>; sinks: Record | SinkTransformer>; private get inlet(); constructor(props: unknown, factory: Factory); set(...values: V[]): void; cleanup(): void; } export declare const sinkPipeline: (valueType: V, props: SinkPipelineProps) => SinkSpec; //# sourceMappingURL=pipeline.d.ts.map