import { Uri } from '@opensumi/ide-core-common';
import * as types from '../../../../common/vscode/ext-types';
import type { LanguageSelector } from '@opensumi/ide-editor';
import type vscode from 'vscode';
export declare function createToken(): any;
export interface ObjectIdentifier {
    $ident: number;
}
export declare namespace ObjectIdentifier {
    const name = "$ident";
    function mixin<T>(obj: T, id: number): T & ObjectIdentifier;
    function of(obj: any): number;
}
export declare function isLocationArray(array: any): array is types.Location[];
export declare function isDefinitionLinkArray(array: any): array is vscode.DefinitionLink[];
export declare function score(selector: LanguageSelector | undefined, candidateUri: Uri, candidateLanguage: string, candidateIsSynchronized: boolean, candidateNotebookUri: Uri | undefined, candidateNotebookType: string | undefined): number;
interface Performance {
    now(): number;
}
export declare const setPerformance: (perf: Performance) => void;
export declare const getPerformance: () => Performance | null;
/**
 *
 * @description 记录插件进程中相关操作的耗时
 */
export declare const getDurationTimer: () => {
    end: () => number;
};
export declare function targetsNotebooks(selector: LanguageSelector): boolean;
export {};
//# sourceMappingURL=util.d.ts.map