import { z } from 'zod';
/**
 * Schema for the recurrence schedule of an exporter run.
 */
export declare const ExporterWhenSchema: z.ZodString;
/**
 * Recurrence schedule for an exporter run.
 */
export type ExporterWhen = 'manually' | 'hourly' | 'daily' | 'weekly' | 'monthly' | (string & {});
/**
 * Schema for the connection type used by an exporter.
 */
export declare const ExporterSourceSchema: z.ZodString;
/**
 * Connection type used by an exporter.
 *
 * Backend support is open-ended; the schema accepts any string while the common ones
 * autocomplete via the TypeScript union below.
 */
export type ExporterSource = 'sftp' | 'ftp' | 'http' | 's3' | (string & {});
/**
 * Schema for the body accepted by create/update on the exporters sub-endpoint.
 */
export declare const ExporterInputSchema: z.ZodObject<{
    name: z.ZodString;
    what: z.ZodString;
    when: z.ZodString;
    weekday: z.ZodOptional<z.ZodString>;
    monthday: z.ZodOptional<z.ZodString>;
    time: z.ZodString;
    source: z.ZodString;
    config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    notifications: z.ZodOptional<z.ZodString>;
    encryption: z.ZodOptional<z.ZodString>;
    encryptionKey: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;
/**
 * Body accepted by create/update on the exporters sub-endpoint.
 */
export type ExporterInput = z.infer<typeof ExporterInputSchema> & {
    when: ExporterWhen;
    source: ExporterSource;
};
/**
 * Schema for an exporter configured on an organization.
 */
export declare const ExporterSchema: z.ZodObject<{
    name: z.ZodString;
    what: z.ZodString;
    when: z.ZodString;
    weekday: z.ZodOptional<z.ZodString>;
    monthday: z.ZodOptional<z.ZodString>;
    time: z.ZodString;
    source: z.ZodString;
    config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    notifications: z.ZodOptional<z.ZodString>;
    encryption: z.ZodOptional<z.ZodString>;
    encryptionKey: z.ZodOptional<z.ZodString>;
    id: z.ZodString;
    organization: z.ZodString;
    createdDate: z.ZodCoercedDate<unknown>;
}, z.core.$loose>;
/**
 * An exporter configured on an organization.
 */
export type Exporter = z.infer<typeof ExporterSchema> & {
    when: ExporterWhen;
    source: ExporterSource;
};
