import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export declare const UpdateTeamMemberTeamPermissions: {
    readonly IntegrationManager: "IntegrationManager";
    readonly CreateProject: "CreateProject";
    readonly FullProductionDeployment: "FullProductionDeployment";
    readonly UsageViewer: "UsageViewer";
    readonly EnvVariableManager: "EnvVariableManager";
    readonly EnvironmentManager: "EnvironmentManager";
    readonly OrgAdmin: "OrgAdmin";
    readonly OrgViewer: "OrgViewer";
    readonly V0Builder: "V0Builder";
    readonly V0Chatter: "V0Chatter";
    readonly V0Viewer: "V0Viewer";
};
export type UpdateTeamMemberTeamPermissions = ClosedEnum<typeof UpdateTeamMemberTeamPermissions>;
/**
 * The project role of the member that will be added. \"null\" will remove this project level role.
 */
export declare const UpdateTeamMemberRole: {
    readonly Admin: "ADMIN";
    readonly ProjectViewer: "PROJECT_VIEWER";
    readonly ProjectDeveloper: "PROJECT_DEVELOPER";
};
/**
 * The project role of the member that will be added. \"null\" will remove this project level role.
 */
export type UpdateTeamMemberRole = ClosedEnum<typeof UpdateTeamMemberRole>;
export type UpdateTeamMemberProjects = {
    /**
     * The ID of the project.
     */
    projectId: string;
    /**
     * The project role of the member that will be added. \"null\" will remove this project level role.
     */
    role: UpdateTeamMemberRole | null;
};
export type UpdateTeamMemberJoinedFrom = {
    ssoUserId?: any | null | undefined;
};
export type UpdateTeamMemberRequestBody = {
    /**
     * Accept a user who requested access to the team.
     */
    confirmed?: true | undefined;
    /**
     * The role in the team of the member.
     */
    role?: string | undefined;
    /**
     * The team permissions to set for the member. Permissions must be compatible with the team roles assigned to the member.
     */
    teamPermissions?: Array<UpdateTeamMemberTeamPermissions> | undefined;
    projects?: Array<UpdateTeamMemberProjects> | undefined;
    joinedFrom?: UpdateTeamMemberJoinedFrom | undefined;
};
export type UpdateTeamMemberRequest = {
    /**
     * The ID of the member.
     */
    uid: string;
    teamId: string;
    requestBody: UpdateTeamMemberRequestBody;
};
/**
 * Successfully updated the membership.
 */
export type UpdateTeamMemberResponseBody = {
    /**
     * ID of the team.
     */
    id: string;
};
/** @internal */
export declare const UpdateTeamMemberTeamPermissions$outboundSchema: z.ZodNativeEnum<typeof UpdateTeamMemberTeamPermissions>;
/** @internal */
export declare const UpdateTeamMemberRole$outboundSchema: z.ZodNativeEnum<typeof UpdateTeamMemberRole>;
/** @internal */
export type UpdateTeamMemberProjects$Outbound = {
    projectId: string;
    role: string | null;
};
/** @internal */
export declare const UpdateTeamMemberProjects$outboundSchema: z.ZodType<UpdateTeamMemberProjects$Outbound, z.ZodTypeDef, UpdateTeamMemberProjects>;
export declare function updateTeamMemberProjectsToJSON(updateTeamMemberProjects: UpdateTeamMemberProjects): string;
/** @internal */
export type UpdateTeamMemberJoinedFrom$Outbound = {
    ssoUserId?: any | null | undefined;
};
/** @internal */
export declare const UpdateTeamMemberJoinedFrom$outboundSchema: z.ZodType<UpdateTeamMemberJoinedFrom$Outbound, z.ZodTypeDef, UpdateTeamMemberJoinedFrom>;
export declare function updateTeamMemberJoinedFromToJSON(updateTeamMemberJoinedFrom: UpdateTeamMemberJoinedFrom): string;
/** @internal */
export type UpdateTeamMemberRequestBody$Outbound = {
    confirmed?: true | undefined;
    role: string;
    teamPermissions?: Array<string> | undefined;
    projects?: Array<UpdateTeamMemberProjects$Outbound> | undefined;
    joinedFrom?: UpdateTeamMemberJoinedFrom$Outbound | undefined;
};
/** @internal */
export declare const UpdateTeamMemberRequestBody$outboundSchema: z.ZodType<UpdateTeamMemberRequestBody$Outbound, z.ZodTypeDef, UpdateTeamMemberRequestBody>;
export declare function updateTeamMemberRequestBodyToJSON(updateTeamMemberRequestBody: UpdateTeamMemberRequestBody): string;
/** @internal */
export type UpdateTeamMemberRequest$Outbound = {
    uid: string;
    teamId: string;
    RequestBody: UpdateTeamMemberRequestBody$Outbound;
};
/** @internal */
export declare const UpdateTeamMemberRequest$outboundSchema: z.ZodType<UpdateTeamMemberRequest$Outbound, z.ZodTypeDef, UpdateTeamMemberRequest>;
export declare function updateTeamMemberRequestToJSON(updateTeamMemberRequest: UpdateTeamMemberRequest): string;
/** @internal */
export declare const UpdateTeamMemberResponseBody$inboundSchema: z.ZodType<UpdateTeamMemberResponseBody, z.ZodTypeDef, unknown>;
export declare function updateTeamMemberResponseBodyFromJSON(jsonString: string): SafeParseResult<UpdateTeamMemberResponseBody, SDKValidationError>;
//# sourceMappingURL=updateteammemberop.d.ts.map