import { Cache } from '@elaraai/core/datasource'; import { TimeSpan } from '@elaraai/core/east'; import { ELARASchema } from '@elaraai/core/schema'; /** * The scope to be applied to to the {@link AroFloPlugin}. * * @category DataSource */ export declare type AroFloScope = 'Users' | 'TransactionTerms' | 'Priorities' | 'Clients' | 'Locations' | 'Quotes' | 'TaskTypes' | 'Tasks' | 'Invoices' | 'Payments' | 'Suppliers' | 'Inventory' | 'PurchaseOrders' | 'Bills' | 'Assets' | 'Substatus'; /** * The environment variables to define an {@link AroFloPlugin}. * * @category DataSource */ export declare type AroFloEnv = { AROFLO_ORGENCODED?: string; AROFLO_PENCODED?: string; AROFLO_SECRET_KEY?: string; AROFLO_UENCODED?: string; }; /** * A {@link AroFloPluginDefinition} to configure the {@link AroFloPlugin}. * * @category DataSource */ export declare type AroFloPluginDefinition = { /** the set of {@link AroFloScope}'s to apply to the API */ scope?: Set; /** the configuration of the {@link Cache} for the DataSource. */ cache?: Cache; /** the configuration of the DataSource {@link Poll} */ poll?: TimeSpan; /** the environment variables to apply to the {@link AroFloPlugin} */ env?: AroFloEnv; }; /** * Create a streaming {@link DataSourceDefinition} for the AroFlo API with supporting diagnostic pages: {@link https://apidocs.aroflo.com/}. * * @param definition: the desired {@link AroFloPluginDefinition}. * @return a {@link ELARASchema} containing a {@link AroFloPluginDefinition} contents * * @category DataSource * * @example * ```typescript * // Create an `AroFloPlugin` poll the API every hour for `Invoices` and `Payments` with default environment names. * const aroflo = AroFloPlugin({ * scope: new Set(['Invoices', 'Payments']), * poll: TimeSpan(1), * }) * ``` */ export declare function AroFloPlugin(args?: AroFloPluginDefinition): ELARASchema; //# sourceMappingURL=aroflo.d.ts.map