import { Container } from '../components/container';
import { IFrame } from '../components/iframe';
import { Trigger } from '../components/trigger';
import { IEventData } from '../components/iframe-event';
import { IFormValidation, IStyles } from '../components/param';
import { Link } from '../components/link';
import { VaultDisplayIframeEvent } from '../components/vault-display-iframe-event';
/**
 * Class VaultDisplayWidget include method for working on html
 * @constructor
 *
 * @example
 * var widget = new VaultDisplayWidget('#widget', 'token');
 *
 * @param {string} selector - Selector of html element. Container for widget
 * @param {string} token - One time token
 */
declare class VaultDisplayWidget {
    protected container: Container;
    protected iFrame: IFrame;
    protected triggerElement: Trigger;
    protected event: VaultDisplayIframeEvent;
    protected validationData: IFormValidation;
    protected vaultDisplayToken: string;
    protected link: Link;
    protected configs: any[];
    /** @constructs */ constructor(selector: string, token: string);
    /**
     * Current method can change environment. By default environment = sandbox.
     * Also we can change domain alias for this environment. By default domain_alias = paydock.com
     *
     * @example
     * widget.setEnv('production', 'paydock.com');
     * @param {string} env - sandbox, production
     * @param {string} [alias] - Own domain alias
     */
    setEnv(env: string, alias?: string): void;
    /**
     * This callback will be called for each event in widget
     *
     * @callback listener
     * @param {IEventData} response
     */
    on(eventName: string): Promise<IEventData>;
    on(eventName: string, cb: (data: IEventData) => void): any;
    /**
     * Object contain styles for widget
     *
     * @example
     * widget.setStyles({
     *       background_color: '#fff',
     *       border_color: 'yellow',
     *       text_color: '#FFFFAA',
     *       button_color: 'rgba(255, 255, 255, 0.9)',
     *       font_size: '20px',
     *       fort_family: 'fantasy'
     *   });
     * @param {VaultDisplayStyle} fields - name of styles which can be shown in widget [VAULT_DISPLAY_STYLE]{@link VAULT_DISPLAY_STYLE}
     */
    setStyles(styles: IStyles): void;
    setStyle(param: string, value: string): void;
    /**
     * The final method to beginning, the load process of widget to html
     *
     */
    load(): void;
}
export { VaultDisplayWidget };
//# sourceMappingURL=vault-display-widget.d.ts.map