import { PlatformType } from "../../../types/index.js";
import { GcpAuthenticatedIdentity } from "../../gcp/creds/identity.js";
export declare class GcpProjectOAuthSetup {
    private initialized;
    private readonly identity;
    private readonly projectId;
    private readonly quotaProjectId;
    private readonly oauthBrandName;
    private readonly platform;
    private readonly vercelProjectName?;
    private readonly defaultRedirectUri;
    private readonly oauthClient;
    private readonly projectManager;
    private serviceUsageClient;
    private readonly brandClient;
    private clientId;
    private clientSecret;
    private allowedDomains?;
    constructor(identity: GcpAuthenticatedIdentity, organizationId: string, projectId: string, quotaProjectId: string, oauthBrandName: string, platform: PlatformType, clientId?: string, vercelProjectName?: string, allowedDomains?: string);
    initialize(): Promise<void>;
    setupForProject(): Promise<void>;
    setupForVercelProject(): Promise<void>;
    setupForOpenNextProject(): Promise<void>;
    setupForNetlifyProject(): Promise<void>;
    step_0_checkProject(): Promise<void>;
    step_1_enableServices(): Promise<void>;
    step_2_updateOrCreateBrand(): Promise<void>;
    step_3_determineRedirectUri(): Promise<void>;
    private getDefaultRedirectUri;
}
