import type { AddCliOptions, DevToolsSys, FileNode, SyncInfo } from "../types";
export declare function extractSignatureInfo(content: string): {
    contentId?: string;
    sessionKey?: string;
    snippetId?: string;
};
export interface GetAllProjectFilesOptions {
    sys?: DevToolsSys;
    basePath: string;
    globPattern?: string | string[];
    extraIgnorePatterns?: string[];
    dot?: boolean;
    deep?: number;
    gitignore?: boolean;
    onlyFiles?: boolean;
    maxFiles?: number;
}
export declare function getAllProjectFiles(options: GetAllProjectFilesOptions): Promise<string[]>;
export declare function findBuilderFiles(basePath: string, targetContentId: string, targetSessionKey: string): Promise<FileNode[]>;
export declare function filterNonImportantFiles(files: string[]): string[];
export declare function getIgnorePatterns(basePath: string): (path: string) => boolean;
/**
 * Async version of getIgnorePatterns that works with DevToolsSys
 * Used for testing and when sys is available
 */
export declare function getIgnorePatternsAsync(basePath: string, sys: DevToolsSys): Promise<(path: string) => boolean>;
export declare function watchDirectory(basePath: string, syncInfo: SyncInfo, onChange: (updatedSyncInfo: SyncInfo) => void): () => Promise<void>;
export declare function setupSyncServer(sys: DevToolsSys, initialSyncInfo?: SyncInfo): Promise<void>;
export declare function syncCommand(opts: AddCliOptions): Promise<SyncInfo | undefined>;
