import type { Resource } from './Resource.js';
import type { User } from './User.js';
export interface Properties {
    resource: Resource;
    get(name: string): Promise<string | Object | Object[] | undefined>;
    getByUser(name: string, user: User): Promise<string | Object | Object[] | undefined>;
    set(name: string, value: string | Object | Object[] | undefined): Promise<void>;
    setByUser(name: string, value: string | Object | Object[] | undefined, user: User): Promise<void>;
    remove(name: string): Promise<void>;
    removeByUser(name: string, user: User): Promise<void>;
    runInstructions(instructions: ['set' | 'remove', string, any][]): Promise<undefined | [string, Error][]>;
    runInstructionsByUser(instructions: ['set' | 'remove', string, any][], user: User): Promise<undefined | [string, Error][]>;
    getAll(): Promise<{
        [k: string]: string | Object | Object[];
    }>;
    getAllByUser(user: User): Promise<{
        [k: string]: string | Object | Object[];
    }>;
    list(): Promise<string[]>;
    listByUser(user: User): Promise<string[]>;
    listLive(): Promise<string[]>;
    listLiveByUser(user: User): Promise<string[]>;
    listDead(): Promise<string[]>;
    listDeadByUser(user: User): Promise<string[]>;
}
