/** CRDT libraries detected in the project. */
export type CrdtLibrary = 'yjs' | 'automerge' | 'loro-crdt' | 'diamond-types' | null;
/** Sync backend services detected in the project. */
export type SyncBackend = 'y-websocket' | 'hocuspocus' | 'electric-sql' | 'powersync' | 'liveblocks' | null;
/** Local persistence engine detected in the project. */
export type LocalStorageEngine = 'IndexedDB' | 'SQLite-WASM' | 'SQLite-native' | 'OPFS' | 'LevelDB' | null;
/** Collaboration mode for local-first projects. */
export type CollaborationMode = 'single-user' | 'multi-user-sync' | 'real-time-collaborative';
/** Full detection result for local-first architecture signals. */
export interface LocalFirstDetectionResult {
    isLocalFirst: boolean;
    crdtLibrary: CrdtLibrary;
    syncBackend: SyncBackend;
    localStorageEngine: LocalStorageEngine;
    hasOfflineSupport: boolean;
    localFirstSignals: string[];
}
/** Anti-pattern for local-first architectures (detected by audit). */
export interface LocalFirstAntiPattern {
    pattern: 'polling-http' | 'full-state-sync' | 'silent-last-write-wins';
    severity: 'warning' | 'critical';
    location: string;
    suggestion: string;
}
/** Entry in the local-first tools catalog. */
export interface LocalFirstToolEntry {
    name: string;
    platforms: string[];
    useCases?: string[];
    stars?: number;
    status: 'stable' | 'beta';
    description?: string;
    docsUrl?: string;
    runtime?: string;
    hosted?: boolean;
}
/** Shape of local-first-tools.json config file. */
export interface LocalFirstToolsConfig {
    crdtLibraries: LocalFirstToolEntry[];
    storageEngines: LocalFirstToolEntry[];
    syncBackends: LocalFirstToolEntry[];
}
/** A CRDT criterion with title, body, and testability flag. */
export interface CrdtCriterion {
    title: string;
    body: string;
    testable: boolean;
}
/** A sync protocol criterion. */
export interface SyncCriterion {
    title: string;
    body: string;
}
/** A storage recommendation for a specific platform. */
export interface StorageRecommendation {
    engine: string;
    reason: string;
    alternative?: string;
}
/** A schema evolution criterion. */
export interface SchemaEvolutionCriterion {
    title: string;
    body: string;
}
//# sourceMappingURL=local-first.d.ts.map