import { ZambdaSchedule } from './ZambdaSchedule';
export interface ZambdaFunction {
    id: string;
    /**
     * A name for the Zambda Function. May contain letters, numbers, dashes, and underscores. Must be unique within the project.
     */
    name: string;
    /**
     * The runtime of the Zambda Function.
     */
    runtime?: string;
    /**
     * The Zambda Function status provides information about the Functions state including whether it is ready to be invoked.
     */
    status: 'Draft' | 'Pending' | 'Active' | 'Failed' | 'Inactive' | 'Validating';
    /**
     * The trigger method for the Zambda Function determines how the Function is invoked. Learn more about the different types here, https://docs.oystehr.com/oystehr/services/zambda/#types-of-zambdas.
     */
    triggerMethod: 'http_auth' | 'http_open' | 'subscription' | 'cron';
    schedule?: ZambdaSchedule;
    /**
     * Info about the zip file that was uploaded for the Zambda Function.
     */
    fileInfo?: {
        /**
         * The name of the zip file that was uploaded for the Zambda Function.
         */
        name?: string;
        /**
         * The size of the zip file that was uploaded for the Zambda Function.
         */
        size?: number;
        /**
         * The date and time when the Z3 Object was last modified in ISO 8601 format.
         */
        lastModified?: string;
    };
    /**
     * The amount of memory in MB to allocate to the Zambda Function. If not specified, a system default (1024MB) will be used. Min: 128MB, Max: 10240MB.
     */
    memorySize?: number;
    /**
     * The timeout for the Zambda Function in seconds. If not specified, a system default (27 seconds) will be used. Min: 1s, Max: 900s (15 minutes). Note: For 'http_auth' and 'http_open' trigger methods, the timeout cannot exceed 27 seconds due to API Gateway limitations.
     */
    timeoutInSeconds?: number;
}
