import { Command } from 'commander';
import React from 'react';
import { NessSettings } from './utils/settings';
import { Framework } from './utils';
export declare type NessContextProps = {
    readonly command?: Command;
    readonly account?: string;
    readonly env?: Record<string, string>;
    readonly framework?: Framework;
    readonly settings?: NessSettings;
    readonly setContext?: (context: NessContextProps) => void;
};
export declare const NessContext: React.Context<NessContextProps>;
/**
 * Get a valid, stable stack ID for this stack in this project on the current branch.
 *
 * @param stack Stack name (ie, 'web', 'domain', or 'alias').
 * @param entry Path to the project root. Defaults to process.cwd().
 */
export declare function getStackId(stack: string, entry?: string): string;
/**
 * Get the project name. This is pulled from package.name, if package.json is
 * present; otherwise, the name of the current working directory is used.
 *
 * @param entry Path to the project root. Defaults to process.cwd().
 */
export declare function getProjectName(entry?: string): string | undefined;
/**
 * Get the current git branch. Defaults to 'main' if there is no git repository.
 *
 * @param entry Path to the project root. Defaults to process.cwd().
 */
export declare function getBranch(path?: string): string | undefined;
