import type { LixEngine } from "../../engine/boot.js";
import type { LixFile } from "./schema.js";
export type FileDescriptorFields = {
    directoryId: string | null;
    name: string;
    extension: string | null;
    metadata: unknown;
    hidden: boolean;
};
export declare function deriveDescriptorFieldsFromPath(args: {
    engine: Pick<LixEngine, "executeSync">;
    versionId: string;
    path: string;
    metadata: unknown;
    hidden: boolean;
}): FileDescriptorFields;
export declare function readFileDescriptorSnapshot(args: {
    engine: Pick<LixEngine, "executeSync">;
    versionId: string;
    fileId: string;
}): {
    id: string;
    directory_id: string | null;
    name: string;
    extension: string | null;
    metadata: unknown;
    hidden: boolean;
} | undefined;
export declare function composeFilePathFromDescriptor(args: {
    engine: Pick<LixEngine, "executeSync">;
    versionId: string;
    fileId: string;
}): string | undefined;
export declare function composeFileNameFromFields(args: {
    name: string;
    extension: string | null;
}): string;
export declare function composeDirectoryPathAtCommit(args: {
    engine: Pick<LixEngine, "executeSync">;
    directoryId: string | null;
    rootCommitId: string;
    depth: number;
}): string | undefined;
export declare function composeFilePathAtCommit(args: {
    engine: Pick<LixEngine, "executeSync">;
    directoryId: string | null;
    name: string;
    extension: string | null;
    rootCommitId: string;
    depth: number;
}): string | undefined;
export declare function readFileDescriptorAtCommit(args: {
    engine: Pick<LixEngine, "executeSync">;
    fileId: string;
    rootCommitId: string;
    depth: number;
}): {
    id: string;
    directory_id: string | null;
    name: string;
    extension: string | null;
    metadata: unknown;
    hidden: boolean;
} | undefined;
export declare function ensureCompleteDescriptor(args: {
    engine: Pick<LixEngine, "executeSync">;
    versionId: string;
    file: Pick<LixFile, "id" | "path"> & Partial<Omit<LixFile, "id" | "path" | "data">>;
}): Omit<LixFile, "data">;
//# sourceMappingURL=descriptor-utils.d.ts.map