import { EventEmitter } from '../../stencil-public-runtime';
/**
 * Transfer 数据项
 */
export interface TransferDataItem {
    key: string;
    title: string;
    disabled?: boolean;
}
/**
 * Transfer 穿梭框组件
 * 双栏列表选择，勾选项后通过中间按钮在两栏间移动
 */
export declare class Transfer {
    /**
     * 数据源
     */
    data: TransferDataItem[];
    /**
     * 右侧（目标列表）的 keys
     */
    targetKeys: string[];
    /**
     * 两侧已勾选的 keys
     */
    selectedKeys: string[];
    /**
     * 标题，[源列表标题, 目标列表标题]
     * @default ['源列表', '目标列表']
     */
    titles: [string, string];
    /**
     * 是否禁用
     * @default false
     */
    disabled: boolean;
    /**
     * 是否显示搜索框
     * @default false
     */
    filterable: boolean;
    /**
     * 右侧列表变化事件
     */
    hbChange: EventEmitter<{
        targetKeys: string[];
    }>;
    leftFilter: string;
    rightFilter: string;
    handleSelectedKeysChange(): void;
    /** 左侧列表：key 不在 targetKeys 中 */
    private get leftList();
    /** 右侧列表：key 在 targetKeys 中 */
    private get rightList();
    /** 当前列表项是否被勾选 */
    private isSelected;
    /** 切换某项的勾选状态 */
    private toggleItem;
    /** 获取某侧可勾选（非 disabled）的全部 keys */
    private getSelectableKeys;
    /** 计算某侧全选 checkbox 状态：'all' | 'none' | 'indeterminate' */
    private getCheckAllState;
    /** 切换某侧全选 */
    private toggleCheckAll;
    /** 向右移动：把左侧已勾选的项移到右侧 */
    private moveToRight;
    /** 向左移动：把右侧已勾选的项移回左侧 */
    private moveToLeft;
    /** 列表项过滤 */
    private filterList;
    private renderList;
    render(): any;
}
