> ISPO SDK documentation. [HTML](https://ispo.ai/docs/interfaces/core.ProjectFileApi.html) · [Documentation index](https://ispo.ai/docs/llms.txt)

# Interface ProjectFileApi

```typescript
interface ProjectFileApi {
    external: FsExternalApi;
    delete(path: string): Promise<void>;
    list(path?: string): Promise<string[]>;
    read(path: string): Promise<string>;
    readBinary(path: string): Promise<Uint8Array<ArrayBufferLike>>;
    write(path: string, content: string): Promise<void>;
    writeBinary(path: string, content: Uint8Array): Promise<void>;
}
```

Types: [external](#external), [FsExternalApi](core.FsExternalApi.md), [delete](#delete-1), [list](#list-1), [read](#read-1), [readBinary](#readbinary-1), [write](#write-1), [writeBinary](#writebinary-1)

##### Index

### <a id="properties"></a>Properties

[external](#external)

### <a id="methods"></a>Methods

[delete](#delete) [list](#list) [read](#read) [readBinary](#readbinary) [write](#write) [writeBinary](#writebinary)

## <a id="properties-1"></a>Properties

### <a id="external"></a>external

```typescript
external: FsExternalApi
```

Types: [FsExternalApi](core.FsExternalApi.md)

Borrowed folders on the user's machine (spec §7.4). A completely separate authority from the rest of `fs`: these calls never touch your private project data, and the rest of `fs` never reaches a borrowed directory.

## <a id="methods-1"></a>Methods

### <a id="delete"></a>delete

*   <a id="delete-1"></a>
    
    ```typescript
    delete(path: string): Promise<void>
    ```
    
    #### Parameters
    
    *   path: string
    
    #### Returns Promise<void\>
    
    #### <a id="deprecated"></a>Deprecated
    
    Retained only for one-shot legacy importers.
    

### <a id="list"></a>list

*   <a id="list-1"></a>
    
    ```typescript
    list(path?: string): Promise<string[]>
    ```
    
    #### Parameters
    
    *   `Optional`path: string
    
    #### Returns Promise<string\[\]\>
    
    #### <a id="deprecated-1"></a>Deprecated
    
    Retained only for one-shot legacy importers.
    

### <a id="read"></a>read

*   <a id="read-1"></a>
    
    ```typescript
    read(path: string): Promise<string>
    ```
    
    #### Parameters
    
    *   path: string
    
    #### Returns Promise<string\>
    
    #### <a id="deprecated-2"></a>Deprecated
    
    Retained only for one-shot legacy importers.
    

### <a id="readbinary"></a>readBinary

*   <a id="readbinary-1"></a>
    
    ```typescript
    readBinary(path: string): Promise<Uint8Array<ArrayBufferLike>>
    ```
    
    #### Parameters
    
    *   path: string
    
    #### Returns Promise<Uint8Array<ArrayBufferLike\>\>
    
    #### <a id="deprecated-3"></a>Deprecated
    
    Retained only for one-shot legacy importers.
    

### <a id="write"></a>write

*   <a id="write-1"></a>
    
    ```typescript
    write(path: string, content: string): Promise<void>
    ```
    
    #### Parameters
    
    *   path: string
    *   content: string
    
    #### Returns Promise<void\>
    
    #### <a id="deprecated-4"></a>Deprecated
    
    Retained only for one-shot legacy importers.
    

### <a id="writebinary"></a>writeBinary

*   <a id="writebinary-1"></a>
    
    ```typescript
    writeBinary(path: string, content: Uint8Array): Promise<void>
    ```
    
    #### Parameters
    
    *   path: string
    *   content: Uint8Array
    
    #### Returns Promise<void\>
    
    #### <a id="deprecated-5"></a>Deprecated
    
    Retained only for one-shot legacy importers.
