/**
 * Organization member operations for Managed Runtime.
 *
 * Distinct from project members: organization members hold a role at the
 * organization level and may be granted permission to view all projects
 * and manage custom domain certificates.
 *
 * @module operations/mrt/organization-member
 */
import type { AuthStrategy } from '../../auth/types.js';
import type { components } from '../../clients/mrt.js';
export type MrtOrgMember = components['schemas']['APIOrganizationMember'];
export type MrtOrgMemberCreate = components['schemas']['APIOrganizationMemberCreate'];
export type MrtOrgMemberUpdate = components['schemas']['PatchedAPIOrganizationMemberUpdate'];
/**
 * Organization role values.
 * 0 = Owner, 1 = Member
 */
export type OrgRoleValue = 0 | 1;
export declare const ORG_ROLES: Record<OrgRoleValue, string>;
/**
 * Cert permission status. 1 = Disabled, 2 = Enabled (per Status1d2Enum).
 */
export type OrgCertPermission = 1 | 2;
export interface ListOrgMembersOptions {
    organizationSlug: string;
    limit?: number;
    offset?: number;
    ordering?: string;
    search?: string;
    origin?: string;
}
export interface ListOrgMembersResult {
    count: number;
    next: string | null;
    previous: string | null;
    members: MrtOrgMember[];
}
export declare function listOrgMembers(options: ListOrgMembersOptions, auth: AuthStrategy): Promise<ListOrgMembersResult>;
export interface AddOrgMemberOptions {
    organizationSlug: string;
    email: string;
    role: OrgRoleValue;
    canViewAllProjects?: boolean;
    customDomainCertPermission?: OrgCertPermission;
    origin?: string;
}
export declare function addOrgMember(options: AddOrgMemberOptions, auth: AuthStrategy): Promise<MrtOrgMember>;
export interface GetOrgMemberOptions {
    organizationSlug: string;
    email: string;
    origin?: string;
}
export declare function getOrgMember(options: GetOrgMemberOptions, auth: AuthStrategy): Promise<MrtOrgMember>;
export interface UpdateOrgMemberOptions {
    organizationSlug: string;
    email: string;
    canViewAllProjects?: boolean;
    customDomainCertPermission?: OrgCertPermission;
    origin?: string;
}
export declare function updateOrgMember(options: UpdateOrgMemberOptions, auth: AuthStrategy): Promise<MrtOrgMember>;
export interface RemoveOrgMemberOptions {
    organizationSlug: string;
    email: string;
    origin?: string;
}
export declare function removeOrgMember(options: RemoveOrgMemberOptions, auth: AuthStrategy): Promise<void>;
