import React from 'react';
import { type ChainMetadata } from '@hyperlane-xyz/sdk/metadata/chainMetadataTypes';
import type { ChainMap, ChainName } from '@hyperlane-xyz/sdk/types';
export declare enum ChainSortByOption {
    Name = "name",
    ChainId = "chain id",
    Protocol = "protocol"
}
type DefaultSortField = ChainSortByOption | 'custom';
interface CustomListItemField {
    header: string;
    data: ChainMap<{
        display: string;
        sortValue: number;
    }>;
}
export interface ChainSearchMenuProps {
    chainMetadata: ChainMap<ChainMetadata>;
    overrideChainMetadata?: ChainMap<Partial<ChainMetadata> | undefined>;
    onChangeOverrideMetadata: (overrides?: ChainMap<Partial<ChainMetadata> | undefined>) => void;
    onClickChain: (chain: ChainMetadata) => void;
    customListItemField?: CustomListItemField | null;
    showChainDetails?: ChainName;
    showAddChainMenu?: boolean;
    showAddChainButton?: boolean;
    defaultSortField?: DefaultSortField;
    /**
     * Allow chains to be shown as disabled. Defaults to `false`
     */
    shouldDisableChains?: boolean;
}
export declare function ChainSearchMenu({ chainMetadata, onChangeOverrideMetadata, overrideChainMetadata, onClickChain, customListItemField, showChainDetails, showAddChainButton, showAddChainMenu, defaultSortField, shouldDisableChains, }: ChainSearchMenuProps): React.JSX.Element;
export {};
//# sourceMappingURL=ChainSearchMenu.d.ts.map