/**
 * Live-status probe for the console GitHub repository panel.
 *
 * Every input is `gh`-derived. Unauthenticated `gh` takes the whole panel to
 * unknown — never a partial concrete value. Secret values are never read.
 * @module cli/ui-github-repo
 */
import type { JsonObject } from "../sync/json-path.js";
import { type GithubRepoGhReads, type GithubRepoSettings, type GithubRulesetRow } from "./ui-github-repo-gh.js";
import { type StatusProbe } from "./ui-status.js";
export type { GithubRepoGhReads } from "./ui-github-repo-gh.js";
export { expectedLabelsFromConfig } from "./ui-github-repo-expected.js";
/** Label row for the panel (presence vs config expectation). */
export interface GithubRepoLabelRow {
    readonly name: string;
    readonly role: string;
    readonly color: string;
    readonly present: boolean;
}
/** Secret row — presence only; never a value. */
export interface GithubRepoSecretRow {
    readonly name: string;
    readonly purpose: string;
    readonly set: boolean;
}
/**
 * Structured value emitted by the github-repo live-status probe.
 * Stored as JsonObject for the probe transport; shape is validated in tests.
 */
export type GithubRepoPanelValue = JsonObject & {
    readonly owner: string;
    readonly repo: string;
    readonly settings: GithubRepoSettings;
    readonly rulesets: readonly GithubRulesetRow[];
    readonly labels: readonly GithubRepoLabelRow[];
    readonly secrets: readonly GithubRepoSecretRow[];
};
/** Optional overrides for focused unit tests. */
export interface GithubRepoProbeDependencies {
    readonly authenticate?: (signal: AbortSignal) => Promise<"authenticated" | "not-authenticated">;
    readonly reads?: Partial<GithubRepoGhReads>;
}
/**
 * Create the probe that populates the GitHub repository panel.
 * @param cwd - Project root used as the command working directory
 * @param config - Merged Lisa project config
 * @param dependencies - Injectable auth and gh reads for focused tests
 * @returns Live-status probe for GET /api/status
 */
export declare function createGithubRepoProbe(cwd: string, config: JsonObject, dependencies?: GithubRepoProbeDependencies): StatusProbe<GithubRepoPanelValue>;
//# sourceMappingURL=ui-github-repo.d.ts.map