import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { Observable, Subscription } from 'rxjs';
import { TransferDataFormat, TransferDirection } from './transfer.types';
import * as i0 from "@angular/core";
export declare class TransferComponent implements OnInit, OnChanges, OnDestroy {
    private i18n;
    static ID_SEED: number;
    id: number;
    sourceOption: Array<TransferDataFormat>;
    targetOption: Array<TransferDataFormat>;
    titles: {
        source: string;
        target: string;
    };
    height: string;
    isSearch: boolean;
    disabled: boolean;
    isSourceDroppable: boolean;
    isTargetDroppable: boolean;
    showOptionTitle: boolean;
    beforeTransfer: (sourceOption: any, targetOption: any) => boolean | Promise<boolean> | Observable<boolean>;
    virtualScroll: boolean;
    customSourceCheckedLen: number;
    customTargetCheckedLen: number;
    noResultTemplate: TemplateRef<any>;
    transferToTarget: EventEmitter<any>;
    transferToSource: EventEmitter<any>;
    searching: EventEmitter<any>;
    transferring: EventEmitter<any>;
    afterTransfer: EventEmitter<any>;
    sourceCustomViewTemplate: TemplateRef<any>;
    targetCustomViewTemplate: TemplateRef<any>;
    virtualScrollViewport: CdkVirtualScrollViewport;
    transferDirection: any;
    sourceDisplayOption: any[];
    sourceDisplayOptionLen: number;
    sourceCheckedLen: number;
    sourceHalfChecked: boolean;
    sourceAllChecked: boolean;
    sourceCanTransfer: boolean;
    targetDisplayOption: any[];
    targetDisplayOptionLen: number;
    targetCheckedLen: number;
    targetHalfChecked: boolean;
    targetAllChecked: boolean;
    targetCanTransfer: boolean;
    sourceSearchText: string;
    targetSearchText: string;
    itemSize: number;
    minBuffer: number;
    maxBuffer: number;
    i18nCommonText: I18nInterface['common'];
    i18nSubscription: Subscription;
    constructor(i18n: I18nService);
    ngOnInit(): void;
    canChange(): Promise<boolean>;
    setI18nText(): void;
    ngOnChanges(changes: SimpleChanges): void;
    checkboxChange(direction: TransferDirection, event: any): void;
    listTotalCheck(direction?: TransferDirection): void;
    transferTo(direction: TransferDirection): void;
    transferHandle(direction: TransferDirection, changeData?: object): void;
    checkAll(direction: TransferDirection, event: any): void;
    search(direction: TransferDirection, keyword: any): void;
    onDrop(direction: TransferDirection, e: any): void;
    trackByFn(index: any, item: any): any;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TransferComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TransferComponent, "d-transfer", never, { "sourceOption": { "alias": "sourceOption"; "required": false; }; "targetOption": { "alias": "targetOption"; "required": false; }; "titles": { "alias": "titles"; "required": false; }; "height": { "alias": "height"; "required": false; }; "isSearch": { "alias": "isSearch"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "isSourceDroppable": { "alias": "isSourceDroppable"; "required": false; }; "isTargetDroppable": { "alias": "isTargetDroppable"; "required": false; }; "showOptionTitle": { "alias": "showOptionTitle"; "required": false; }; "beforeTransfer": { "alias": "beforeTransfer"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "customSourceCheckedLen": { "alias": "customSourceCheckedLen"; "required": false; }; "customTargetCheckedLen": { "alias": "customTargetCheckedLen"; "required": false; }; "noResultTemplate": { "alias": "noResultTemplate"; "required": false; }; }, { "transferToTarget": "transferToTarget"; "transferToSource": "transferToSource"; "searching": "searching"; "transferring": "transferring"; "afterTransfer": "afterTransfer"; }, ["sourceCustomViewTemplate", "targetCustomViewTemplate"], never, false, never>;
}
