import type { JWT } from 'google-auth-library'; /** * 패키지별 SA 파일 경로. 패키지명을 검증하고, 해석된 경로가 SA_DIR 바로 아래인지 한 번 더 * 확인한다 — `../tokens` 같은 값이 `~/.mimi-seed/tokens.json` 을 가리키는 것을 막는 방어선이다. * 스키마 검증(register)은 1차 방어일 뿐, 이 모듈을 부르는 모든 경로가 거기를 지나지는 않는다. */ export declare function serviceAccountPathForPackage(packageName: string): string; /** * 패키지별 → 레거시(default) 순으로 SA JSON을 로드. * 여러 앱이 다른 GCP 프로젝트의 SA를 쓰는 환경 지원. */ export declare function getServiceAccountJson(packageName?: string): string | null; /** * 레거시 호환 — 단일 SA 저장 (default). */ export declare function saveServiceAccountJson(json: string): void; /** * 패키지명에 묶여 SA JSON을 저장. 여러 앱이 다른 GCP 프로젝트일 때 사용. * ~/.mimi-seed/play-service-accounts/{packageName}.json */ export declare function saveServiceAccountJsonForPackage(packageName: string, json: string): void; /** * 등록된 패키지별 SA + default(레거시) 정보 요약. */ export declare function listRegisteredServiceAccounts(): { perPackage: { packageName: string; clientEmail: string | null; projectId: string | null; }[]; default: { clientEmail: string | null; projectId: string | null; } | null; }; /** * 패키지별 SA 삭제. 없으면 false. */ export declare function deleteServiceAccountJsonForPackage(packageName: string): boolean; /** * SA JWT 클라이언트 생성. packageName이 주어지면 패키지별 → default 순으로 탐색. */ export declare function getServiceAccountClient(packageName?: string): JWT | null;