import { IPersistenceContainer } from "../../abstracts/persistence.container";
/**
 * An internal object used to track items saved by a storage object within the persistence
 * framework.
 *
 * @export
 * @class ContainerInfo
 *
 * @author Scott O'Bryan
 * @since 1.0
 */
export declare class ContainerInfo {
    private _namespace;
    private _container;
    constructor(_namespace: string, _container: IPersistenceContainer);
    /**
     * Adds a key to this info object.
     *
     * @param {string} key
     */
    addAttribute(key: string): void;
    /**
     * Removes a key from this info object.
     *
     * @param {string} key
     */
    removeAttribute(key: string): void;
    /**
     * Returns a list of keys that have been added to this
     * info object.
     *
     * @returns {string[]}
     */
    getAttributes(): string[];
    /**
     * Checks to see if the value stored in the _namespace
     * is an info object or if it is empty.  If it is NOT
     * an info object, then false is returned.
     *
     * @returns {boolean}
     */
    available(): boolean;
    private _getInfo();
    private _setInfo(info);
}
