## Public API Report File for "@fluidframework/map"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

// @public @sealed @legacy
export interface IDirectory extends FluidMap<string, any>, IEventProvider<IDirectoryEvents>, Partial<IDisposable> {
    readonly absolutePath: string;
    clear(): void;
    countSubDirectory?(): number;
    createSubDirectory(subdirName: string): IDirectory;
    delete(key: string): boolean;
    deleteSubDirectory(subdirName: string): boolean;
    get<T = any>(key: string): T | undefined;
    getSubDirectory(subdirName: string): IDirectory | undefined;
    getWorkingDirectory(relativePath: string): IDirectory | undefined;
    hasSubDirectory(subdirName: string): boolean;
    set<T = unknown>(key: string, value: T): this;
    subdirectories(): FluidIterableIterator<[string, IDirectory]>;
}

// @public @sealed @legacy
export interface IDirectoryEvents extends IEvent {
    (event: "containedValueChanged", listener: (changed: IValueChanged, local: boolean, target: IEventThisPlaceHolder) => void): any;
    (event: "subDirectoryCreated", listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void): any;
    (event: "subDirectoryDeleted", listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void): any;
    (event: "disposed", listener: (target: IEventThisPlaceHolder) => void): any;
    (event: "undisposed", listener: (target: IEventThisPlaceHolder) => void): any;
}

// @public @sealed @legacy
export interface IDirectoryValueChanged extends IValueChanged {
    path: string;
}

// @public @sealed @legacy
export interface IValueChanged {
    readonly key: string;
    readonly previousValue: any;
}

```
