import type { StreamIO } from "../data"; import type { EastFunction, IntegerType, StringType } from "../east"; import type { Assertion } from "../task"; import type { ModulePath } from '../template/Module'; /** @internal */ export type FtpSinkTaskDescription = { task_type: 'sink'; source_type: "ftp"; module: ModulePath; name: string; ftp_uri: EastFunction; ftp_username?: EastFunction | undefined; ftp_password?: EastFunction | undefined; ftp_key?: EastFunction | undefined; ftp_port?: EastFunction | undefined; inputs: Record; input_assertions: Assertion[]; outputs: {}; output_assertions: []; }; /** @internal */ export type S3SinkTaskDescription = { task_type: 'sink'; source_type: "s3"; module: ModulePath; name: string; /** The aws region. */ s3_region: EastFunction; /** The bucket name containing the object. */ s3_bucket: EastFunction; /** Key of the object to get. */ s3_key: EastFunction; /** AWS access key ID */ s3_access_key_id: EastFunction; /** AWS secret access key */ s3_secret_access_key: EastFunction; inputs: Record; input_assertions: Assertion[]; outputs: {}; output_assertions: []; }; /** @internal */ export type SinkTaskDescription = FtpSinkTaskDescription | S3SinkTaskDescription;