import { AsyncOptionalCreatable } from '@salesforce/kit';
import { AliasAccessor } from './accessors/aliasAccessor';
import { OrgAccessor } from './accessors/orgAccessor';
import { SandboxAccessor } from './accessors/sandboxAccessor';
export declare class StateAggregator extends AsyncOptionalCreatable {
    private static instanceMap;
    private static readonly mutex;
    aliases: AliasAccessor;
    orgs: OrgAccessor;
    sandboxes: SandboxAccessor;
    /**
     * Reuse a StateAggregator if one was already created for the current global state directory
     * Otherwise, create one and adds it to map for future reuse.
     * HomeDir might be stubbed in tests
     */
    static getInstance(): Promise<StateAggregator>;
    /**
     * Clear the cache to force reading from disk.
     *
     * *NOTE: Only call this method if you must and you know what you are doing.*
     * *NOTE: This call is NOT thread-safe, so it should only be called when no other threads are using the StateAggregator.*
     */
    static clearInstance(path?: string): void;
    /**
     * Clear the cache to force reading from disk in a thread-safe manner.
     *
     * *NOTE: Only call this method if you must and you know what you are doing.*
     */
    static clearInstanceAsync(path?: string): Promise<void>;
    protected init(): Promise<void>;
}
