import { EventEmitter, OnInit } from '@angular/core';
import { NgControl } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
import { ItAbstractFormComponent } from '../../../abstracts/abstract-form.component';
import { TransferStore } from './store/transfer.store';
import { TransferItem } from './transfer.model';
import * as i0 from "@angular/core";
/**
 * Transfer
 * @description Component that allows the creation of checkbox lists.
 */
export declare class ItTransferComponent<T = any> extends ItAbstractFormComponent<T> implements OnInit {
    readonly _ngControl: NgControl;
    readonly _translateService: TranslateService;
    private readonly store;
    /**
     * The select options (left side)
     */
    options: never[];
    /**
     * The selected options (right side)
     */
    selected: never[];
    /**
     * Fired when there is a transfer, a backtransfer or a reset event
     */
    readonly transferChanges: EventEmitter<TransferItem<T>[]>;
    /**
     * Enable transfer button
     * @default false
     */
    readonly transferEnabled: import("rxjs").Observable<boolean>;
    /**
     * Enable backtransfer button
     * @default false
     */
    readonly backtransferEnabled: import("rxjs").Observable<boolean>;
    /**
     * Enable reset button
     * @default false
     */
    readonly resetEnabled: import("rxjs").Observable<boolean>;
    private readonly destroyRef;
    constructor(_ngControl: NgControl, _translateService: TranslateService, store: TransferStore<T>);
    ngOnInit(): void;
    /**
     * Transfer button click handler
     */
    transferClickHandler(event: MouseEvent): void;
    /**
     * Transfer button keypress handler
     */
    transferKeyPressHandler(event: KeyboardEvent): void;
    /**
     * Backtransfer button click handler
     */
    backtransferClickHandler(event: MouseEvent): void;
    /**
     * Backtransfer button keypress handler
     */
    backtransferKeyPressHandler(event: KeyboardEvent): void;
    /**
     * Reset button click handler
     */
    resetClickHandler(event: MouseEvent): void;
    /**
     * Reset button keypress handler
     */
    resetKeyPressHandler(event: KeyboardEvent): void;
    private buttonEventHandler;
    private storeInit;
    private onStoreValueChanged;
    static ɵfac: i0.ɵɵFactoryDeclaration<ItTransferComponent<any>, [{ optional: true; self: true; }, null, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ItTransferComponent<any>, "it-transfer", never, { "options": { "alias": "options"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "transferChanges": "transferChanges"; }, never, never, true, never>;
}
