/** Core */
import { CoreComponent } from "cmf.core/src/core";
/** Angular */
import * as ng from "@angular/core";
/** Change Set Selector */
import { ChangeSetSelectedArgs } from "../../changeSetSelector/changeSetSelector";
/** Validator Module */
import { OnValidateArgs, OnValidate } from "cmf.core.controls/src/directives/validator/validator";
export interface ImportData {
file: File;
changeSetArgs?: ChangeSetSelectedArgs;
}
/**
* @whatItDoes
*
* This component will allow the user to upload a file and optionally select a ChangeSet
*
*
* @howToUse
*
* This component should only be used within the Import Wizard
*
* ### Inputs:
* _This component has no inputs_
*
* ### Outputs:
* _This component has no outputs_
*
* ### Example
*
*
*
*
*
* * @description
*
* ## DetailsStep Component
*
* ### Dependencies
*
* #### Components
* * BaseWidget : `cmf.core.controls`
* * ChangeSetSelector : `cmf.core.business.controls`
* * PropertyEditor : `cmf.core.business.controls`
* * Validator : `cmf.core.controls`
*
* #### Services
* * _This component does not depend on any service_
*
* #### Directives
* * * _This component does not depend on any directive_
*/
export declare class DetailsStep extends CoreComponent implements OnValidate {
private _elementRef;
/**
* Input selector to get the reference of this native element to be clicked from the button
*/
private _importFileSelector;
/**
* Uploaded file name set directly from the uploaded file
*/
fileName: string;
/**
* File uploaded to the step
*/
file: File;
/**
* String with list of supported file extensions
*/
supportedFileExtensionsForAccept: string;
/**
* Show Change Set
*/
showChangeSet: boolean;
private _changeSetArgs;
/**
* Constructor
*
* @param viewContainerRef the reference to the component view container
*/
constructor(viewContainerRef: ng.ViewContainerRef, _elementRef: ng.ElementRef);
/**
* On Browser event to initiate browser file picker through the hidden input selector
* @param event
*/
onBrowseFile(event: any): void;
/**
* Load file when selected in the file explorer
* @param event any
*/
loadFile(event: any): void;
/**
* On Validate event method.
* Is valid when there a file uploaded with the correct extension
*/
onValidate(args: OnValidateArgs): Promise;
/**
* Binds changeSet arguments
*/
onChangeSetUpdated(args: ChangeSetSelectedArgs): void;
/**
* Get Information for Import operation
*/
getImportData(): ImportData;
/**
* Show\Hide ChangeSet
*
* @param showChangeSet show or hide the ChangeSet
*/
switchShowChangeSet(showChangeSet: boolean): void;
}
export declare class DetailsStepModule {
}