import type { IStorageProvider, StorageLocationType, StorageResolveInput, StorageWriteInput, StorageReadInput, StorageExistsInput, StorageListInput, StorageDeleteInput, StorageAvailableSpaceInput } from '../index.js';
/**
 * Filesystem storage provider — serves all location types from a local directory tree.
 *
 * Default layout:
 *   {rootPath}/recordings-high/
 *   {rootPath}/recordings-low/
 *   {rootPath}/recordings-clips/
 *   {rootPath}/event-images/
 *   {rootPath}/models/
 *   {rootPath}/addons-data/
 *   {rootPath}/logs/
 *   /tmp/camstack-cache/   (cache is always local)
 *
 * Individual location paths can be overridden.
 */
export declare class FilesystemStorageProvider implements IStorageProvider {
    readonly id = "local";
    readonly name = "Local Filesystem";
    readonly supportedLocations: readonly StorageLocationType[];
    private readonly rootPath;
    private readonly locationPaths;
    constructor(rootPath: string, overrides?: Partial<Record<StorageLocationType, string>>);
    resolve({ location, relativePath }: StorageResolveInput): string;
    write({ location, relativePath, data }: StorageWriteInput): Promise<void>;
    read({ location, relativePath }: StorageReadInput): Promise<Buffer>;
    exists({ location, relativePath }: StorageExistsInput): Promise<boolean>;
    list({ location, prefix }: StorageListInput): Promise<readonly string[]>;
    delete({ location, relativePath }: StorageDeleteInput): Promise<void>;
    getAvailableSpace({ location }: StorageAvailableSpaceInput): Promise<number | null>;
    /** Get the resolved path for a location type */
    getLocationPath(location: StorageLocationType): string;
    /** Get the root path */
    getRootPath(): string;
}
export default FilesystemStorageProvider;
//# sourceMappingURL=filesystem-storage-provider.d.ts.map