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";
/**
 * Only return members with the specified team role.
 */
export declare const QueryParamRole: {
    readonly Owner: "OWNER";
    readonly Member: "MEMBER";
    readonly Developer: "DEVELOPER";
    readonly Security: "SECURITY";
    readonly Billing: "BILLING";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
    readonly Contributor: "CONTRIBUTOR";
};
/**
 * Only return members with the specified team role.
 */
export type QueryParamRole = ClosedEnum<typeof QueryParamRole>;
export type GetTeamMembersRequest = {
    /**
     * Limit how many teams should be returned
     */
    limit?: number | undefined;
    /**
     * Timestamp in milliseconds to only include members added since then.
     */
    since?: number | undefined;
    /**
     * Timestamp in milliseconds to only include members added until then.
     */
    until?: number | undefined;
    /**
     * Search team members by their name, username, and email.
     */
    search?: string | undefined;
    /**
     * Only return members with the specified team role.
     */
    role?: QueryParamRole | undefined;
    /**
     * Exclude members who belong to the specified project.
     */
    excludeProject?: string | undefined;
    /**
     * Include team members who are eligible to be members of the specified project.
     */
    eligibleMembersForProjectId?: string | undefined;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId: string;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
};
/**
 * Information about the GitHub account for this user.
 */
export type GetTeamMembersGithub = {
    login?: string | undefined;
};
/**
 * Information about the GitLab account of this user.
 */
export type GetTeamMembersGitlab = {
    login?: string | undefined;
};
/**
 * Information about the Bitbucket account of this user.
 */
export type GetTeamMembersBitbucket = {
    login?: string | undefined;
};
/**
 * Role of this user in the team.
 */
export declare const GetTeamMembersRole: {
    readonly Billing: "BILLING";
    readonly Contributor: "CONTRIBUTOR";
    readonly Developer: "DEVELOPER";
    readonly Member: "MEMBER";
    readonly Owner: "OWNER";
    readonly Security: "SECURITY";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
};
/**
 * Role of this user in the team.
 */
export type GetTeamMembersRole = ClosedEnum<typeof GetTeamMembersRole>;
export declare const GetTeamMembersOrigin: {
    readonly AccountUpdate: "account-update";
    readonly Bitbucket: "bitbucket";
    readonly Dsync: "dsync";
    readonly Feedback: "feedback";
    readonly Github: "github";
    readonly Gitlab: "gitlab";
    readonly Import: "import";
    readonly Link: "link";
    readonly Mail: "mail";
    readonly NsnbAutoApprove: "nsnb-auto-approve";
    readonly NsnbHobbyUpgrade: "nsnb-hobby-upgrade";
    readonly NsnbInvite: "nsnb-invite";
    readonly NsnbRedeploy: "nsnb-redeploy";
    readonly NsnbRedeployAttributionCard: "nsnb-redeploy-attribution-card";
    readonly NsnbRequestAccess: "nsnb-request-access";
    readonly NsnbViewerUpgrade: "nsnb-viewer-upgrade";
    readonly OrganizationTeams: "organization-teams";
    readonly Saml: "saml";
    readonly Teams: "teams";
};
export type GetTeamMembersOrigin = ClosedEnum<typeof GetTeamMembersOrigin>;
export type GetTeamMembersGitUserId = string | number;
/**
 * Map with information about the members origin if they joined by requesting access.
 */
export type GetTeamMembersJoinedFrom = {
    origin: GetTeamMembersOrigin;
    commitId?: string | undefined;
    repoId?: string | undefined;
    repoPath?: string | undefined;
    gitUserId?: string | number | undefined;
    gitUserLogin?: string | undefined;
    ssoUserId?: string | undefined;
    ssoConnectedAt?: number | undefined;
    idpUserId?: string | undefined;
    dsyncUserId?: string | undefined;
    dsyncConnectedAt?: number | undefined;
};
export declare const GetTeamMembersTeamsResponseRole: {
    readonly Admin: "ADMIN";
    readonly ProjectDeveloper: "PROJECT_DEVELOPER";
    readonly ProjectGuest: "PROJECT_GUEST";
    readonly ProjectViewer: "PROJECT_VIEWER";
};
export type GetTeamMembersTeamsResponseRole = ClosedEnum<typeof GetTeamMembersTeamsResponseRole>;
/**
 * Array of project memberships
 */
export type GetTeamMembersProjects = {
    name: string;
    id: string;
    role?: GetTeamMembersTeamsResponseRole | undefined;
};
export type GetTeamMembersMembers = {
    /**
     * ID of the file for the Avatar of this member.
     */
    avatar?: string | undefined;
    /**
     * Boolean that indicates if this member was confirmed by an owner.
     */
    confirmed: boolean;
    /**
     * The email of this member.
     */
    email: string;
    /**
     * Information about the GitHub account for this user.
     */
    github?: GetTeamMembersGithub | undefined;
    /**
     * Information about the GitLab account of this user.
     */
    gitlab?: GetTeamMembersGitlab | undefined;
    /**
     * Information about the Bitbucket account of this user.
     */
    bitbucket?: GetTeamMembersBitbucket | undefined;
    /**
     * Role of this user in the team.
     */
    role: GetTeamMembersRole;
    /**
     * The ID of this user.
     */
    uid: string;
    /**
     * The unique username of this user.
     */
    username: string;
    /**
     * The name of this user.
     */
    name?: string | undefined;
    /**
     * Timestamp in milliseconds when this member was added.
     */
    createdAt: number;
    /**
     * Timestamp in milliseconds for when this team member was accepted by an owner.
     */
    accessRequestedAt?: number | undefined;
    /**
     * Map with information about the members origin if they joined by requesting access.
     */
    joinedFrom?: GetTeamMembersJoinedFrom | undefined;
    /**
     * Array of project memberships
     */
    projects?: Array<GetTeamMembersProjects> | undefined;
    /**
     * Indicates whether the user is managed by an enterprise.
     */
    isEnterpriseManaged?: boolean | undefined;
};
export declare const GetTeamMembersTeamsRole: {
    readonly Billing: "BILLING";
    readonly Contributor: "CONTRIBUTOR";
    readonly Developer: "DEVELOPER";
    readonly Member: "MEMBER";
    readonly Owner: "OWNER";
    readonly Security: "SECURITY";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
};
export type GetTeamMembersTeamsRole = ClosedEnum<typeof GetTeamMembersTeamsRole>;
export declare const GetTeamMembersTeamRoles: {
    readonly Billing: "BILLING";
    readonly Contributor: "CONTRIBUTOR";
    readonly Developer: "DEVELOPER";
    readonly Member: "MEMBER";
    readonly Owner: "OWNER";
    readonly Security: "SECURITY";
    readonly Viewer: "VIEWER";
    readonly ViewerForPlus: "VIEWER_FOR_PLUS";
};
export type GetTeamMembersTeamRoles = ClosedEnum<typeof GetTeamMembersTeamRoles>;
export declare const GetTeamMembersTeamPermissions: {
    readonly CreateProject: "CreateProject";
    readonly EnvVariableManager: "EnvVariableManager";
    readonly EnvironmentManager: "EnvironmentManager";
    readonly FullProductionDeployment: "FullProductionDeployment";
    readonly IntegrationManager: "IntegrationManager";
    readonly OrgAdmin: "OrgAdmin";
    readonly OrgViewer: "OrgViewer";
    readonly UsageViewer: "UsageViewer";
    readonly V0Builder: "V0Builder";
    readonly V0Chatter: "V0Chatter";
    readonly V0Viewer: "V0Viewer";
};
export type GetTeamMembersTeamPermissions = ClosedEnum<typeof GetTeamMembersTeamPermissions>;
export declare const GetTeamMembersTeamsProjects: {
    readonly Admin: "ADMIN";
    readonly ProjectDeveloper: "PROJECT_DEVELOPER";
    readonly ProjectGuest: "PROJECT_GUEST";
    readonly ProjectViewer: "PROJECT_VIEWER";
};
export type GetTeamMembersTeamsProjects = ClosedEnum<typeof GetTeamMembersTeamsProjects>;
export type EmailInviteCodes = {
    accessGroups?: Array<string> | undefined;
    id: string;
    email?: string | undefined;
    role?: GetTeamMembersTeamsRole | undefined;
    teamRoles?: Array<GetTeamMembersTeamRoles> | undefined;
    teamPermissions?: Array<GetTeamMembersTeamPermissions> | undefined;
    isDSyncUser: boolean;
    createdAt?: number | undefined;
    expired?: true | undefined;
    projects?: {
        [k: string]: GetTeamMembersTeamsProjects;
    } | undefined;
    entitlements?: Array<string> | undefined;
};
export type GetTeamMembersPagination = {
    hasNext: boolean;
    /**
     * Amount of items in the current page.
     */
    count: number;
    /**
     * Timestamp that must be used to request the next page.
     */
    next: number | null;
    /**
     * Timestamp that must be used to request the previous page.
     */
    prev: number | null;
};
export type GetTeamMembersResponseBody = {
    members: Array<GetTeamMembersMembers>;
    emailInviteCodes?: Array<EmailInviteCodes> | undefined;
    pagination: GetTeamMembersPagination;
};
/** @internal */
export declare const QueryParamRole$outboundSchema: z.ZodNativeEnum<typeof QueryParamRole>;
/** @internal */
export type GetTeamMembersRequest$Outbound = {
    limit?: number | undefined;
    since?: number | undefined;
    until?: number | undefined;
    search?: string | undefined;
    role?: string | undefined;
    excludeProject?: string | undefined;
    eligibleMembersForProjectId?: string | undefined;
    teamId: string;
    slug?: string | undefined;
};
/** @internal */
export declare const GetTeamMembersRequest$outboundSchema: z.ZodType<GetTeamMembersRequest$Outbound, z.ZodTypeDef, GetTeamMembersRequest>;
export declare function getTeamMembersRequestToJSON(getTeamMembersRequest: GetTeamMembersRequest): string;
/** @internal */
export declare const GetTeamMembersGithub$inboundSchema: z.ZodType<GetTeamMembersGithub, z.ZodTypeDef, unknown>;
export declare function getTeamMembersGithubFromJSON(jsonString: string): SafeParseResult<GetTeamMembersGithub, SDKValidationError>;
/** @internal */
export declare const GetTeamMembersGitlab$inboundSchema: z.ZodType<GetTeamMembersGitlab, z.ZodTypeDef, unknown>;
export declare function getTeamMembersGitlabFromJSON(jsonString: string): SafeParseResult<GetTeamMembersGitlab, SDKValidationError>;
/** @internal */
export declare const GetTeamMembersBitbucket$inboundSchema: z.ZodType<GetTeamMembersBitbucket, z.ZodTypeDef, unknown>;
export declare function getTeamMembersBitbucketFromJSON(jsonString: string): SafeParseResult<GetTeamMembersBitbucket, SDKValidationError>;
/** @internal */
export declare const GetTeamMembersRole$inboundSchema: z.ZodNativeEnum<typeof GetTeamMembersRole>;
/** @internal */
export declare const GetTeamMembersOrigin$inboundSchema: z.ZodNativeEnum<typeof GetTeamMembersOrigin>;
/** @internal */
export declare const GetTeamMembersGitUserId$inboundSchema: z.ZodType<GetTeamMembersGitUserId, z.ZodTypeDef, unknown>;
export declare function getTeamMembersGitUserIdFromJSON(jsonString: string): SafeParseResult<GetTeamMembersGitUserId, SDKValidationError>;
/** @internal */
export declare const GetTeamMembersJoinedFrom$inboundSchema: z.ZodType<GetTeamMembersJoinedFrom, z.ZodTypeDef, unknown>;
export declare function getTeamMembersJoinedFromFromJSON(jsonString: string): SafeParseResult<GetTeamMembersJoinedFrom, SDKValidationError>;
/** @internal */
export declare const GetTeamMembersTeamsResponseRole$inboundSchema: z.ZodNativeEnum<typeof GetTeamMembersTeamsResponseRole>;
/** @internal */
export declare const GetTeamMembersProjects$inboundSchema: z.ZodType<GetTeamMembersProjects, z.ZodTypeDef, unknown>;
export declare function getTeamMembersProjectsFromJSON(jsonString: string): SafeParseResult<GetTeamMembersProjects, SDKValidationError>;
/** @internal */
export declare const GetTeamMembersMembers$inboundSchema: z.ZodType<GetTeamMembersMembers, z.ZodTypeDef, unknown>;
export declare function getTeamMembersMembersFromJSON(jsonString: string): SafeParseResult<GetTeamMembersMembers, SDKValidationError>;
/** @internal */
export declare const GetTeamMembersTeamsRole$inboundSchema: z.ZodNativeEnum<typeof GetTeamMembersTeamsRole>;
/** @internal */
export declare const GetTeamMembersTeamRoles$inboundSchema: z.ZodNativeEnum<typeof GetTeamMembersTeamRoles>;
/** @internal */
export declare const GetTeamMembersTeamPermissions$inboundSchema: z.ZodNativeEnum<typeof GetTeamMembersTeamPermissions>;
/** @internal */
export declare const GetTeamMembersTeamsProjects$inboundSchema: z.ZodNativeEnum<typeof GetTeamMembersTeamsProjects>;
/** @internal */
export declare const EmailInviteCodes$inboundSchema: z.ZodType<EmailInviteCodes, z.ZodTypeDef, unknown>;
export declare function emailInviteCodesFromJSON(jsonString: string): SafeParseResult<EmailInviteCodes, SDKValidationError>;
/** @internal */
export declare const GetTeamMembersPagination$inboundSchema: z.ZodType<GetTeamMembersPagination, z.ZodTypeDef, unknown>;
export declare function getTeamMembersPaginationFromJSON(jsonString: string): SafeParseResult<GetTeamMembersPagination, SDKValidationError>;
/** @internal */
export declare const GetTeamMembersResponseBody$inboundSchema: z.ZodType<GetTeamMembersResponseBody, z.ZodTypeDef, unknown>;
export declare function getTeamMembersResponseBodyFromJSON(jsonString: string): SafeParseResult<GetTeamMembersResponseBody, SDKValidationError>;
//# sourceMappingURL=getteammembersop.d.ts.map