export declare const DEFAULT_PUSH_URL = "https://agentlint.sh"; export declare const INSTALL_SECRET_TIMEOUT_MS = 15000; export type FetchFn = (url: string, init: { method: string; headers: Record; body: string; signal: AbortSignal; }) => Promise; export interface InstallSecretFlags { /** `--endpoint ` — overrides AGENTLINT_URL/default. */ endpoint?: string; /** Override the config path (mostly for tests). */ configPath?: string; } export interface InstallSecretDeps { cwd: string; log: (line: string) => void; fetchFn?: FetchFn; getEnv?: (name: string) => string | undefined; readConfigFn?: (path: string) => Promise; } export type InstallSecretOutcome = { kind: "installed"; repo: string; installedAt: string; } | { kind: "no-token"; } | { kind: "no-config"; } | { kind: "no-project-id"; } | { kind: "app-not-installed"; installUrl: string; } | { kind: "app-lacks-permission"; reAuthorizeUrl: string; } | { kind: "github-api-failed"; status: number; } | { kind: "network-error"; reason: string; } | { kind: "unauthorized"; }; /** * Run `agentlint install-secret`. Returns a discriminated outcome the caller * formats into an exit code. Side effects (network, fs, env) all flow * through injected deps so tests stay deterministic. */ export declare function runInstallSecret(flags: InstallSecretFlags, deps: InstallSecretDeps): Promise; //# sourceMappingURL=index.d.ts.map