import { TProcessor } from "./processors";
declare type TInputGenerate = {
    label?: string;
    generate: {
        mapping: string;
        interval?: string;
        count?: number;
    };
};
declare type TInputStdin = {
    label?: string;
    stdin: {
        codec?: "auto" | "all-bytes" | `chunker:${string}` | "csv" | `csv:${string}` | `delim:${string}` | "gzip" | "lines" | "multipart" | "tar";
        max_buffer?: number;
    };
};
declare type TInputInPort = {
    label?: string;
    inport: {};
};
declare type TInputFile = {
    label?: string;
    file: {
        paths: string[];
        codec?: "auto" | "all-bytes" | `chunker:${string}` | "csv" | `csv:${string}` | `delim:${string}` | "gzip" | "lines" | "multipart" | "tar";
        max_buffer?: number;
        delete_on_finish?: boolean;
    };
};
declare type TInputRedisStreams = {
    label?: string;
    redis_streams: {
        url: string;
        kind?: "simple" | "cluster" | "failover";
        master?: string;
        tls?: {
            enabled?: boolean;
            skip_cert_verify?: boolean;
            enable_renegotiation?: boolean;
            root_cas?: string;
            root_cas_file?: string;
            client_certs?: {
                cert?: string;
                key?: string;
                cert_file?: string;
                key_file?: string;
                password?: string;
            }[];
        };
        body_key?: string;
        streams?: string[];
        limit?: number;
        client_id: string;
        consumer_group: string;
        create_streams?: boolean;
        start_from_oldest?: boolean;
        commit_period?: string;
        timeout?: string;
    };
};
declare type TInputBroker = {
    label?: string;
    broker: {
        copies?: number;
        inputs: TInput[];
        batching?: {
            count?: number;
            byte_size?: number;
            period?: string;
            check?: string;
            processors?: TProcessor[];
        };
    };
};
declare type TInputInproc = {
    label?: string;
    inproc: string;
};
declare type TInputDirect = {
    label?: "";
    direct: string;
};
declare type TInputNanomsg = {
    label?: "";
    nanomsg: {
        urls: string[];
        bind: boolean;
        socket_type: "PULL" | "SUB";
        sub_filters: string[];
        poll_timeout: string;
    };
};
declare type TInput = (TInputGenerate | TInputStdin | TInputFile | TInputInPort | TInputRedisStreams | TInputBroker | TInputInproc | TInputDirect | TInputNanomsg) & {
    processors?: TProcessor[];
};
export { TInput, TInputBroker };
//# sourceMappingURL=inputs.d.ts.map