/**
 * Provider 共通ベース関数
 * Git リポジトリ依存のプロバイダを簡潔に定義するためのファクトリー
 */
import type { CompletionCandidate } from './types.js';
/**
 * プロバイダ設定
 */
export interface ProviderConfig<T> {
    /** プロバイダID（キャッシュキーに使用） */
    id: string;
    /** データ取得関数 */
    fetch: () => Promise<T[]>;
    /** データを候補に変換する関数 */
    transform: (item: T) => CompletionCandidate;
}
/**
 * Git リポジトリ依存のプロバイダを作成
 *
 * 共通処理:
 * - Git リポジトリ外では空配列を返す
 * - キャッシュを活用（1秒TTL）
 * - エラー時は空配列を返す（補完が壊れないように）
 */
export declare function createGitProvider<T>(config: ProviderConfig<T>): () => Promise<CompletionCandidate[]>;
//# sourceMappingURL=base.d.ts.map