import { FileSystemObject } from "./FileSystemObject";
export interface Record {
    deleted?: number;
    modified?: number;
    size?: number;
}
export interface RecordCacheEntry {
    lastModified: number;
    record: Record;
}
export declare type RecordCache = {
    [name: string]: RecordCacheEntry;
};
export interface FileNameIndexEntry extends Record, FileSystemObject {
}
export interface FileNameIndex {
    [name: string]: FileNameIndexEntry;
}
export interface Event {
    postDelete?: (obj: FileSystemObject) => void;
    postGet?: (obj: FileSystemObject) => void;
    postHead?: (obj: FileSystemObject) => void;
    postPost?: (obj: FileSystemObject) => void;
    postPut?: (obj: FileSystemObject) => void;
    preDelete?: (obj: FileSystemObject) => Promise<boolean>;
    preGet?: (obj: FileSystemObject) => Promise<boolean>;
    preHead?: (obj: FileSystemObject) => Promise<boolean>;
    prePost?: (obj: FileSystemObject) => Promise<boolean>;
    prePut?: (obj: FileSystemObject) => Promise<boolean>;
}
//# sourceMappingURL=FileSystemIndex.d.ts.map