/**
 * Expected labels and secrets for the GitHub repository live-status panel.
 * @module cli/ui-github-repo-expected
 */
import type { JsonObject } from "../sync/json-path.js";
/** One config-expected lifecycle label. */
export interface ExpectedLabel {
    readonly name: string;
    readonly role: string;
}
/** One workflow-expected repository secret (presence only). */
export interface ExpectedSecret {
    readonly name: string;
    readonly purpose: string;
}
/**
 * Secrets Lisa creates or expects workflows to consume.
 * Presence is checked via `gh secret list`; values are never read.
 */
export declare const EXPECTED_GITHUB_SECRETS: readonly ExpectedSecret[];
/**
 * Flatten `github.labels` from merged config into expected label rows.
 * @param config - Merged Lisa project config
 * @returns Expected labels with human-readable role paths
 */
export declare function expectedLabelsFromConfig(config: JsonObject): readonly ExpectedLabel[];
/**
 * Read configured github.org / github.repo when both are non-empty strings.
 * @param config - Merged Lisa project config
 * @returns Owner and repo, or undefined when either is missing
 */
export declare function configuredGithubRepo(config: JsonObject): {
    readonly owner: string;
    readonly repo: string;
} | undefined;
//# sourceMappingURL=ui-github-repo-expected.d.ts.map