import { channel } from '@synnaxlabs/client'; import { TimeSpan, TimeStamp } from '@synnaxlabs/x'; import { z } from 'zod'; import { LogEntry, LogSource, LogSourceSpec } from './types'; import { CreateOptions } from '../../../telem/aether/factory'; import { Client } from '../../../telem/aether/remote'; import { AbstractSource } from '../../../telem/aether/telem'; declare const streamMultiChannelLogPropsZ: z.ZodObject<{ channels: z.ZodArray>]>, z.ZodString]>>; timeSpan: z.ZodUnion, z.ZodTransform>, z.ZodPipe>, z.ZodPipe>, z.ZodPipe>, z.ZodCustom, z.ZodPipe, z.ZodTransform>, z.ZodPipe, z.ZodTransform>]>; keepFor: z.ZodOptional, z.ZodTransform>, z.ZodPipe>, z.ZodPipe>, z.ZodPipe>, z.ZodCustom, z.ZodPipe, z.ZodTransform>, z.ZodPipe, z.ZodTransform>]>>; }, z.core.$strip>; export type StreamMultiChannelLogProps = z.input; export declare class StreamMultiChannelLog extends AbstractSource implements LogSource { static readonly TYPE = "stream-multi-channel-log"; schema: z.ZodObject<{ channels: z.ZodArray>]>, z.ZodString]>>; timeSpan: z.ZodUnion, z.ZodTransform>, z.ZodPipe>, z.ZodPipe>, z.ZodPipe>, z.ZodCustom, z.ZodPipe, z.ZodTransform>, z.ZodPipe, z.ZodTransform>]>; keepFor: z.ZodOptional, z.ZodTransform>, z.ZodPipe>, z.ZodPipe>, z.ZodPipe>, z.ZodCustom, z.ZodPipe, z.ZodTransform>, z.ZodPipe, z.ZodTransform>]>>; }, z.core.$strip>; private readonly client; private readonly onStatusChange?; private readonly now; private readonly maxEntries; private channelMeta; private entries; private stopStreaming?; private valid; private _evictedCount; private _channels; private readGeneration; get evictedCount(): number; constructor(client: Client | null, props: unknown, options?: CreateOptions, now?: () => TimeStamp, maxEntries?: number); value(): LogEntry[]; setChannels(channels: channel.Key[]): void; /** Never rejects: a failure invalidates the read and reaches onStatusChange. */ private read; private gcEntries; cleanup(): void; } export declare const streamMultiChannelLog: (props: StreamMultiChannelLogProps) => LogSourceSpec; export {}; //# sourceMappingURL=sources.d.ts.map