import * as z from "zod/v3";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type ListAccessGroupsRequest = {
    /**
     * Filter access groups by project.
     */
    projectId?: string | undefined;
    /**
     * Search for access groups by name.
     */
    search?: string | undefined;
    /**
     * Number of members to include in the response.
     */
    membersLimit?: number | undefined;
    /**
     * Number of projects to include in the response.
     */
    projectsLimit?: number | undefined;
    /**
     * Limit how many access group should be returned.
     */
    limit?: number | undefined;
    /**
     * Continuation cursor to retrieve the next page of results.
     */
    next?: 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;
};
export type AccessGroups = {
    members?: Array<string> | undefined;
    projects?: Array<string> | undefined;
    entitlements?: Array<string> | undefined;
    teamPermissions?: Array<string> | undefined;
    isDsyncManaged: boolean;
    /**
     * The name of this access group.
     */
    name: string;
    /**
     * Timestamp in milliseconds when the access group was created.
     */
    createdAt: string;
    /**
     * ID of the team that this access group belongs to.
     */
    teamId: string;
    /**
     * Timestamp in milliseconds when the access group was last updated.
     */
    updatedAt: string;
    /**
     * ID of the access group.
     */
    accessGroupId: string;
    /**
     * Number of members in the access group.
     */
    membersCount: number;
    /**
     * Number of projects in the access group.
     */
    projectsCount: number;
    /**
     * Roles that the team has in the access group.
     */
    teamRoles?: Array<string> | undefined;
};
export type ResponseBodyPagination = {
    count: number;
    next: string | null;
};
export type ListAccessGroupsResponseBody2 = {
    accessGroups: Array<AccessGroups>;
    pagination: ResponseBodyPagination;
};
export type ListAccessGroupsResponseBody1 = {};
export type ListAccessGroupsResponseBody = ListAccessGroupsResponseBody2 | ListAccessGroupsResponseBody1;
/** @internal */
export type ListAccessGroupsRequest$Outbound = {
    projectId?: string | undefined;
    search?: string | undefined;
    membersLimit?: number | undefined;
    projectsLimit?: number | undefined;
    limit?: number | undefined;
    next?: string | undefined;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const ListAccessGroupsRequest$outboundSchema: z.ZodType<ListAccessGroupsRequest$Outbound, z.ZodTypeDef, ListAccessGroupsRequest>;
export declare function listAccessGroupsRequestToJSON(listAccessGroupsRequest: ListAccessGroupsRequest): string;
/** @internal */
export declare const AccessGroups$inboundSchema: z.ZodType<AccessGroups, z.ZodTypeDef, unknown>;
export declare function accessGroupsFromJSON(jsonString: string): SafeParseResult<AccessGroups, SDKValidationError>;
/** @internal */
export declare const ResponseBodyPagination$inboundSchema: z.ZodType<ResponseBodyPagination, z.ZodTypeDef, unknown>;
export declare function responseBodyPaginationFromJSON(jsonString: string): SafeParseResult<ResponseBodyPagination, SDKValidationError>;
/** @internal */
export declare const ListAccessGroupsResponseBody2$inboundSchema: z.ZodType<ListAccessGroupsResponseBody2, z.ZodTypeDef, unknown>;
export declare function listAccessGroupsResponseBody2FromJSON(jsonString: string): SafeParseResult<ListAccessGroupsResponseBody2, SDKValidationError>;
/** @internal */
export declare const ListAccessGroupsResponseBody1$inboundSchema: z.ZodType<ListAccessGroupsResponseBody1, z.ZodTypeDef, unknown>;
export declare function listAccessGroupsResponseBody1FromJSON(jsonString: string): SafeParseResult<ListAccessGroupsResponseBody1, SDKValidationError>;
/** @internal */
export declare const ListAccessGroupsResponseBody$inboundSchema: z.ZodType<ListAccessGroupsResponseBody, z.ZodTypeDef, unknown>;
export declare function listAccessGroupsResponseBodyFromJSON(jsonString: string): SafeParseResult<ListAccessGroupsResponseBody, SDKValidationError>;
//# sourceMappingURL=listaccessgroupsop.d.ts.map