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;
    sourceCustomViewTemplate: TemplateRef<any>;
    targetCustomViewTemplate: TemplateRef<any>;
    virtualScrollViewport: CdkVirtualScrollViewport;
    transferToTarget: EventEmitter<any>;
    transferToSource: EventEmitter<any>;
    searching: EventEmitter<any>;
    transferring: EventEmitter<any>;
    afterTransfer: EventEmitter<any>;
    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": "sourceOption"; "targetOption": "targetOption"; "titles": "titles"; "height": "height"; "isSearch": "isSearch"; "disabled": "disabled"; "isSourceDroppable": "isSourceDroppable"; "isTargetDroppable": "isTargetDroppable"; "showOptionTitle": "showOptionTitle"; "beforeTransfer": "beforeTransfer"; "virtualScroll": "virtualScroll"; "customSourceCheckedLen": "customSourceCheckedLen"; "customTargetCheckedLen": "customTargetCheckedLen"; }, { "transferToTarget": "transferToTarget"; "transferToSource": "transferToSource"; "searching": "searching"; "transferring": "transferring"; "afterTransfer": "afterTransfer"; }, ["sourceCustomViewTemplate", "targetCustomViewTemplate"], never, false>;
}
