import { type ReactNode } from 'react';
import { type InfoListItem } from './info-list';
import { type SequenceToolName } from './sequence-tools';
import '../styles/components/sequence.scss';
type SequenceProps = {
    /**
     * The sequence
     */
    sequence?: string;
    /**
     * The accession corresponding to the sequence
     */
    accession?: string;
    /**
     * Action triggered when the "Show sequence" button is clicked.
     * This button will be displayed by default if no sequence is passed
     * down to the component.
     */
    onShowSequence?: () => void;
    /**
     * Display option to show/hide the sequence. If no sequence is
     * provided and `onShowSequence` is defined, this defaults to "true"
     */
    isCollapsible?: boolean;
    /**
     * If the sequence is loading, display a spinner in the button
     */
    isLoading?: boolean;
    /**
     * Data to be displayed in an InfoData component above the sequence
     */
    infoData?: InfoListItem[];
    /**
     * The URL to download the isoform sequence
     */
    downloadUrl?: string;
    /**
     * Callback which is fired when the BLAST button is clicked. If no callback
     * is provided then no BLAST button will be displayed.
     */
    onBlastClick?: () => void;
    /** Callback which is fired when the Add button is clicked. If no callback
     * is provided then no Add button will be displayed.
     */
    addToBasketButton?: ReactNode;
    showActionBar?: boolean;
    onCopy?: (copied: string) => void;
    sequenceTools?: SequenceToolName[];
};
declare const Sequence: ({ sequence, accession, onShowSequence, onCopy, isCollapsible, isLoading, infoData, onBlastClick, addToBasketButton, downloadUrl, showActionBar, sequenceTools, }: SequenceProps) => import("react/jsx-runtime").JSX.Element;
export default Sequence;
//# sourceMappingURL=sequence.d.ts.map