import type { Ref, VNodeChild } from 'vue'; import type { MergedTheme } from '../../_mixins'; import type { TransferTheme } from '../styles'; export type OptionValue = string | number; export interface Option { label: string; value: OptionValue; disabled?: boolean; } export type Filter = (pattern: string, option: Option, from: 'source' | 'target') => boolean; export interface RenderLabelProps { option: Option; } export type TransferRenderTargetLabel = (props: RenderLabelProps) => VNodeChild; export type TransferRenderSourceLabel = (props: RenderLabelProps) => VNodeChild; export interface RenderListProps { onCheck: (checkedValueList: OptionValue[]) => void; checkedOptions: Option[]; pattern: string; } export type TransferRenderSourceList = (props: RenderListProps) => VNodeChild; export interface TransferInjection { targetValueSetRef: Ref>; mergedClsPrefixRef: Ref; disabledRef: Ref; mergedThemeRef: Ref>; targetOptionsRef: Ref; canNotSelectAnythingRef: Ref; canBeClearedRef: Ref; allCheckedRef: Ref; srcOptionsLengthRef: Ref; handleItemCheck: (checked: boolean, value: OptionValue) => void; renderSourceLabelRef: Ref; renderTargetLabelRef: Ref; showSelectedRef: Ref; } export declare const transferInjectionKey: import("vue").InjectionKey; export type OnUpdateValue = (value: OptionValue[]) => void;