import { OrganizationsClient } from "@google-cloud/resource-manager";
import { GcpAuthenticatedIdentity } from "../creds/identity.js";
import { BaseGcpIamManager, IamPolicy } from "./base-iam.js";
import { OrganizationPermission, OrganizationRole } from "./constants.js";
export declare class GcpOrganizationIamManager extends BaseGcpIamManager {
    private organizationsClient;
    private organizationId;
    constructor(identity: GcpAuthenticatedIdentity, organizationId: string, client?: OrganizationsClient);
    protected initializeSpecific(): Promise<void>;
    setClient(client: OrganizationsClient): void;
    protected formatResourceName(organizationId: string): string;
    private testPermissions;
    getIamPolicy(): Promise<IamPolicy>;
    setIamPolicy(policy: IamPolicy): Promise<void>;
    addRoles(userId: string, roles: OrganizationRole[]): Promise<void>;
    checkPermissions(): Promise<{
        missingPermissions: OrganizationPermission[];
    }>;
    ensurePermissions(): Promise<void>;
}
