import React from 'react';
import * as GQL from '../backend/graphqlschema';
export declare type IFileMatch = Partial<Pick<GQL.IFileMatch, 'symbols' | 'limitHit'>> & {
    file: Pick<GQL.IFile, 'path' | 'url'> & {
        commit: Pick<GQL.IGitCommit, 'oid'>;
    };
    repository: Pick<GQL.IRepository, 'name' | 'url'>;
    lineMatches: ILineMatch[];
};
export declare type ILineMatch = Pick<GQL.ILineMatch, 'preview' | 'lineNumber' | 'offsetAndLengths' | 'limitHit'>;
interface Props {
    /**
     * The file match search result.
     */
    result: IFileMatch;
    /**
     * The icon to show left to the title.
     */
    icon: React.ComponentType<{
        className?: string;
    }>;
    /**
     * Called when the file's search result is selected.
     */
    onSelect: () => void;
    /**
     * Whether this file should be rendered as expanded.
     */
    expanded: boolean;
    /**
     * Whether or not to show all matches for this file, or only a subset.
     */
    showAllMatches: boolean;
    isLightTheme: boolean;
    allExpanded?: boolean;
}
export declare class FileMatch extends React.PureComponent<Props> {
    private subsetMatches;
    constructor(props: Props);
    render(): React.ReactNode;
    private getChildren;
}
export {};
//# sourceMappingURL=FileMatch.d.ts.map