import React from 'react';
interface TransferContextType {
    sourceItems: {
        id: string;
        content: React.ReactNode;
    }[];
    targetItems: {
        id: string;
        content: React.ReactNode;
    }[];
    sourceCandidates: string[];
    targetCandidates: string[];
    setSourceItems: ({ items, setOriginals }: {
        items: {
            id: string;
            content: React.ReactNode;
        }[];
        setOriginals?: boolean;
    }) => void;
    setTargetItems: ({ items, setOriginals }: {
        items: {
            id: string;
            content: React.ReactNode;
        }[];
        setOriginals?: boolean;
    }) => void;
    setSourceCandidates: (items: string[]) => void;
    setTargetCandidates: (items: string[]) => void;
    isChanged: boolean;
    reset: () => void;
}
export declare const TransferContext: React.Context<TransferContextType>;
export declare const useTransferContext: () => TransferContextType;
export declare const TransferContextProvider: ({ children }: {
    children: React.ReactNode;
}) => React.JSX.Element;
export declare const useTransfer: () => {
    source: {
        checked: boolean;
        id: string;
        content: React.ReactNode;
    }[];
    target: {
        checked: boolean;
        id: string;
        content: React.ReactNode;
    }[];
};
export {};
