import { BaseTransformer } from './BaseTransformer.js';
import { ArcExportObject, ExportArcProjects, ExportArcSavedRequest, ExportArcHistoryRequest, ExportArcClientCertificateData, ExportArcVariable } from '../legacy/DataExport.js';
/**
 * Updates `updated` property and ensures `created` property
 * @param item An item to updated
 * @returns Shallow copy of the passed item.
 */
export declare function updateItemTimings<T>(item: T): T;
/**
 * Transforms data exported by the PouchDB system (legacy)
 */
export declare class ArcPouchTransformer extends BaseTransformer {
    /**
     * Transforms PouchDB ARC export object based into current export data model.
     *
     * @returns New data model object.
     */
    transform(): Promise<ArcExportObject>;
    /**
     * Transforms the projects array.
     *
     * @param projects Projects list to upgrade
     * @return Processed list
     */
    transformProjects(projects: ExportArcProjects[]): ExportArcProjects[];
    /**
     * @param requests The list of requests to process
     * @param projects List of projects
     * @returns Processed requests.
     */
    transformRequests(requests: ExportArcSavedRequest[], projects?: ExportArcProjects[]): ExportArcSavedRequest[];
    transformHistory(history: ExportArcHistoryRequest[]): ExportArcHistoryRequest[];
    /**
     * Transforms ARC's client certificate export object into intermediate structure
     * used by the import panel.
     *
     * @return A list of certificates to import. In each element
     * first item is the index data and the second is the certificates data.
     */
    transformClientCertificates(items: ExportArcClientCertificateData[]): ExportArcClientCertificateData[];
    /**
     * Maps the old `variable` property to the new `name` property.
     */
    transformVariables(variables: ExportArcVariable[]): ExportArcVariable[];
}
//# sourceMappingURL=ArcPouchTransformer.d.ts.map