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 type GetProjectMembersRequest = {
    /**
     * The ID or name of the Project.
     */
    idOrName: string;
    /**
     * Limit how many project members 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 project members by their name, username, and email.
     */
    search?: string | undefined;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
};
/**
 * Role of this user in the project.
 */
export declare const ResponseBodyRole: {
    readonly Admin: "ADMIN";
    readonly ProjectDeveloper: "PROJECT_DEVELOPER";
    readonly ProjectGuest: "PROJECT_GUEST";
    readonly ProjectViewer: "PROJECT_VIEWER";
};
/**
 * Role of this user in the project.
 */
export type ResponseBodyRole = ClosedEnum<typeof ResponseBodyRole>;
/**
 * Role of this user in the project.
 */
export declare const ComputedProjectRole: {
    readonly Admin: "ADMIN";
    readonly ProjectDeveloper: "PROJECT_DEVELOPER";
    readonly ProjectGuest: "PROJECT_GUEST";
    readonly ProjectViewer: "PROJECT_VIEWER";
};
/**
 * Role of this user in the project.
 */
export type ComputedProjectRole = ClosedEnum<typeof ComputedProjectRole>;
/**
 * The role of this user in the team.
 */
export declare const ResponseBodyTeamRole: {
    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";
};
/**
 * The role of this user in the team.
 */
export type ResponseBodyTeamRole = ClosedEnum<typeof ResponseBodyTeamRole>;
export type ResponseBodyMembers = {
    /**
     * ID of the file for the Avatar of this member.
     */
    avatar?: string | undefined;
    /**
     * The email of this member.
     */
    email: string;
    /**
     * Role of this user in the project.
     */
    role: ResponseBodyRole;
    /**
     * Role of this user in the project.
     */
    computedProjectRole: ComputedProjectRole;
    /**
     * 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;
    /**
     * The role of this user in the team.
     */
    teamRole: ResponseBodyTeamRole;
};
export type GetProjectMembersResponseBodyPagination = {
    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;
};
/**
 * Paginated list of members for the project.
 */
export type GetProjectMembersResponseBody2 = {
    members: Array<ResponseBodyMembers>;
    pagination: GetProjectMembersResponseBodyPagination;
};
export type GetProjectMembersResponseBody1 = {};
/**
 * Paginated list of members for the project.
 */
export type GetProjectMembersResponseBody = GetProjectMembersResponseBody2 | GetProjectMembersResponseBody1;
/** @internal */
export type GetProjectMembersRequest$Outbound = {
    idOrName: string;
    limit?: number | undefined;
    since?: number | undefined;
    until?: number | undefined;
    search?: string | undefined;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const GetProjectMembersRequest$outboundSchema: z.ZodType<GetProjectMembersRequest$Outbound, z.ZodTypeDef, GetProjectMembersRequest>;
export declare function getProjectMembersRequestToJSON(getProjectMembersRequest: GetProjectMembersRequest): string;
/** @internal */
export declare const ResponseBodyRole$inboundSchema: z.ZodNativeEnum<typeof ResponseBodyRole>;
/** @internal */
export declare const ComputedProjectRole$inboundSchema: z.ZodNativeEnum<typeof ComputedProjectRole>;
/** @internal */
export declare const ResponseBodyTeamRole$inboundSchema: z.ZodNativeEnum<typeof ResponseBodyTeamRole>;
/** @internal */
export declare const ResponseBodyMembers$inboundSchema: z.ZodType<ResponseBodyMembers, z.ZodTypeDef, unknown>;
export declare function responseBodyMembersFromJSON(jsonString: string): SafeParseResult<ResponseBodyMembers, SDKValidationError>;
/** @internal */
export declare const GetProjectMembersResponseBodyPagination$inboundSchema: z.ZodType<GetProjectMembersResponseBodyPagination, z.ZodTypeDef, unknown>;
export declare function getProjectMembersResponseBodyPaginationFromJSON(jsonString: string): SafeParseResult<GetProjectMembersResponseBodyPagination, SDKValidationError>;
/** @internal */
export declare const GetProjectMembersResponseBody2$inboundSchema: z.ZodType<GetProjectMembersResponseBody2, z.ZodTypeDef, unknown>;
export declare function getProjectMembersResponseBody2FromJSON(jsonString: string): SafeParseResult<GetProjectMembersResponseBody2, SDKValidationError>;
/** @internal */
export declare const GetProjectMembersResponseBody1$inboundSchema: z.ZodType<GetProjectMembersResponseBody1, z.ZodTypeDef, unknown>;
export declare function getProjectMembersResponseBody1FromJSON(jsonString: string): SafeParseResult<GetProjectMembersResponseBody1, SDKValidationError>;
/** @internal */
export declare const GetProjectMembersResponseBody$inboundSchema: z.ZodType<GetProjectMembersResponseBody, z.ZodTypeDef, unknown>;
export declare function getProjectMembersResponseBodyFromJSON(jsonString: string): SafeParseResult<GetProjectMembersResponseBody, SDKValidationError>;
//# sourceMappingURL=getprojectmembersop.d.ts.map