import type { BrandConfig } from './types.js';
/** The default (unbranded) program name. */
export declare const DEFAULT_CLI_NAME = "agents";
/**
 * Resolve the name this invocation runs under. The brand shim exports
 * `AGENTS_BRAND`; when unset (a normal `agents`/`ag` call) we are unbranded and
 * everything is byte-identical to before.
 */
export declare function resolveBrandName(): string;
/** The active brand name, or null when unbranded. */
export declare function activeBrandName(): string | null;
/** True when this process is running under a brand (not the plain `agents` CLI). */
export declare function isBranded(): boolean;
/** Names that would clobber an agent CLI shim or the `agents`/`ag` binary. */
export declare function reservedBrandNames(): Set<string>;
/** Validate a proposed brand name; returns an error string or null when ok. */
export declare function validateBrandName(name: string): string | null;
/** All configured brands, keyed by name. */
export declare function listBrands(): Record<string, BrandConfig>;
/** One brand's config, or undefined. */
export declare function getBrandConfig(name: string): BrandConfig | undefined;
/**
 * The active brand's config (from AGENTS_BRAND), or null when unbranded or when
 * the brand is explicitly disabled (`enabled: false`) — a disabled brand's shim
 * still works as a plain pass-through but applies no command/resource curation.
 */
export declare function getActiveBrandConfig(): BrandConfig | null;
/**
 * The resource-profile preset name a brand pins, or null. Read on the hot path
 * by resource-profiles.ts to make the active profile brand-scoped.
 */
export declare function brandProfileName(): string | null;
/** Built-in top-level commands the active brand has turned off. */
export declare function disabledCommandsForActiveBrand(): Set<string>;
/** The preset name a brand owns (one resource profile per brand). */
export declare function brandPresetName(name: string): string;
/** Create or replace a brand's config in agents.yaml. */
export declare function upsertBrand(cfg: BrandConfig): void;
/** Remove a brand's config (leaves its resource preset unless `purgePreset`). */
export declare function removeBrand(name: string, purgePreset?: boolean): void;
