export type ProjectOperationPlane = "control" | "data" | "local"; export type ProjectOperationAuthMode = "principal" | "delegate" | "service_key" | "project_credential" | "anon_key"; export interface ProjectOperationAuthClassification { operation: string; scope: "project"; plane: ProjectOperationPlane; authModes: ProjectOperationAuthMode[]; defaultAuthMode: ProjectOperationAuthMode; requiresProjectId: boolean; mayUseLocalCredentialCache: boolean; localCredentialMissCode?: "PROJECT_CREDENTIAL_NOT_FOUND"; } export declare const PROJECT_OPERATION_AUTH_CLASSIFICATIONS: readonly [{ readonly operation: "projects.list"; readonly scope: "project"; readonly plane: "control"; readonly authModes: ["principal", "delegate"]; readonly defaultAuthMode: "principal"; readonly requiresProjectId: false; readonly mayUseLocalCredentialCache: false; }, { readonly operation: "projects.get"; readonly scope: "project"; readonly plane: "control"; readonly authModes: ["principal", "delegate"]; readonly defaultAuthMode: "principal"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: false; }, { readonly operation: "projects.use"; readonly scope: "project"; readonly plane: "control"; readonly authModes: ["principal", "delegate"]; readonly defaultAuthMode: "principal"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: false; }, { readonly operation: "projects.keys"; readonly scope: "project"; readonly plane: "local"; readonly authModes: ["project_credential"]; readonly defaultAuthMode: "project_credential"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: true; readonly localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND"; }, { readonly operation: "projects.sql"; readonly scope: "project"; readonly plane: "data"; readonly authModes: ["service_key"]; readonly defaultAuthMode: "project_credential"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: true; readonly localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND"; }, { readonly operation: "projects.rest"; readonly scope: "project"; readonly plane: "data"; readonly authModes: ["anon_key", "service_key"]; readonly defaultAuthMode: "project_credential"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: true; readonly localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND"; }, { readonly operation: "domains.add"; readonly scope: "project"; readonly plane: "control"; readonly authModes: ["principal", "delegate", "service_key"]; readonly defaultAuthMode: "principal"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: false; }, { readonly operation: "domains.list"; readonly scope: "project"; readonly plane: "control"; readonly authModes: ["principal", "delegate", "service_key"]; readonly defaultAuthMode: "principal"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: false; }, { readonly operation: "domains.status"; readonly scope: "project"; readonly plane: "control"; readonly authModes: ["principal", "delegate", "service_key"]; readonly defaultAuthMode: "principal"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: false; }, { readonly operation: "domains.delete"; readonly scope: "project"; readonly plane: "control"; readonly authModes: ["principal", "delegate", "service_key"]; readonly defaultAuthMode: "principal"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: false; }, { readonly operation: "functions.*"; readonly scope: "project"; readonly plane: "control"; readonly authModes: ["service_key"]; readonly defaultAuthMode: "project_credential"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: true; readonly localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND"; }, { readonly operation: "assets.*"; readonly scope: "project"; readonly plane: "data"; readonly authModes: ["service_key"]; readonly defaultAuthMode: "project_credential"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: true; readonly localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND"; }, { readonly operation: "jobs.*"; readonly scope: "project"; readonly plane: "control"; readonly authModes: ["service_key"]; readonly defaultAuthMode: "project_credential"; readonly requiresProjectId: true; readonly mayUseLocalCredentialCache: true; readonly localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND"; }]; export declare function projectOperationAuthClassification(operation: string): ProjectOperationAuthClassification | null; //# sourceMappingURL=project-auth-classification.d.ts.map