/** Core */
import { CoreComponent } from "cmf.core/src/core";
import { OnValidate, OnValidateArgs } from "cmf.core.controls/src/directives/validator/validator";
/** Angular */
import * as ng from "@angular/core";
/**
* @whatItDoes
*
* Implements the File step of the Export wizard.
*
* This step allows the user to select a file that will contain the
* exported data.
*
* @howToUse
*
* ### Inputs
* None.
*
* ### Outputs
* `string | null` : **fileNameChange** - Indicates when the file name
* to be used on the export has changed. It is a string containing the
* file name to use, or "null" if no file name is provided.
*
* `boolean` : **compressFileChange** - Indicates if the file created
* by the export backend service should be compressed. It is a boolean
* where the "true" value means that the exported file will be
* compressed into a zip file or "false" which means that the export
* file will be a normal xml file.
*
* ### Example
* To use the component assume this HTML Template as an example:
* ```HTML
*
*
* ```
*
* ## StepFile component
*
* ### Dependencies
*
* #### Components
* * BaseWidget : `cmf.core.controls`
* * PropertyEditor : `cmf.core.business.controls`
* * PropertyContainer : `cmf.core.business.controls`
*
* #### Services
* * _This component does not depend on any service_
*
* #### Directives
* Validator : `cmf.core.controls`
*/
export declare class StepFile extends CoreComponent implements OnValidate {
/**
* Output that is triggered when the file name to use as the name of the
* of the file created by the export is changed. The payload is a string
* containing the file name to use or "null" if no file name was provided.
*/
fileNameChange: ng.EventEmitter;
/**
* Output that is triggered when the compress file toggle that is
* shown on the template is modified by the user. The payload is a
* boolean where "true" means that the export service will create
* a compressed zip file, and "false" means that the export
* service will create a xml file instead.
*/
compressFileChange: ng.EventEmitter;
/**
* File name that is currently being shown on the template.
*/
fileName: string | null;
/**
* Current value of the "Compress File" flag that is shown on the
* template.
*/
compressFile: boolean;
/**
* Callback that is called when the user changes the file name
* field that is shown on the template.
*
* @param event The new file name to use when exporting the items.
*
* @returns Nothing.
*/
onFileNameChange(event: any): void;
/**
* Callback that is called when the user changes the value of the
* "Compress File" toggle that is shown on the template.
*
* This "Compress File" flag is used to determine if the export
* service will export the requested items into a compressed zip
* file, or a uncompressed xml file.
*
* @param event The new value of the "Compress File" toggle.
*
* @return Nothing.
*/
onCompressFileChange(event: any): void;
/**
* On Validate callback.
*/
onValidate(args: OnValidateArgs): Promise;
}
export declare class StepFileModule {
}