import type { Properties as PropertiesInterface, User } from 'nephele';
import Resource from './Resource.js';
export default class Properties implements PropertiesInterface {
    resource: Resource;
    constructor({ resource }: {
        resource: Resource;
    });
    get(name: string): Promise<any>;
    getByUser(name: string, _user: User): Promise<any>;
    set(name: string, value: string): Promise<void>;
    setByUser(name: string, value: string, user: User): Promise<void>;
    remove(name: string): Promise<void>;
    removeByUser(name: string, user: User): Promise<void>;
    runInstructions(instructions: ['set' | 'remove', string, any][]): Promise<[string, Error][] | undefined>;
    runInstructionsByUser(instructions: ['set' | 'remove', string, any][], _user: User): Promise<[string, Error][] | undefined>;
    getAll(): Promise<{
        [k: string]: any;
        creationdate: Date;
        getlastmodified: Date;
        owner?: string;
    }>;
    getAllByUser(_user: User): Promise<{
        [k: string]: any;
        creationdate: Date;
        getlastmodified: Date;
        owner?: string;
    }>;
    list(): Promise<string[]>;
    listByUser(user: User): Promise<string[]>;
    listLive(): Promise<string[]>;
    listLiveByUser(_user: User): Promise<string[]>;
    listDead(): Promise<string[]>;
    listDeadByUser(_user: User): Promise<string[]>;
}
