import { OperationsBase } from "../../common/OperationsBase";
import { EntityListIterator } from "../../common/iterators/EntityListIterator";
import { AccessToken } from "@itwin/core-bentley";
import { PreferReturn } from "../../common/Common";
import { NamedGroup, NamedGroupCreate, NamedGroupList, NamedGroupMinimal, NamedGroupMinimalList, NamedGroupUpdate } from "../interfaces/NamedGroups";
import { INamedGroupsClient } from "../interfaces/INamedGroupsClient";
export declare class NamedGroupsClient extends OperationsBase implements INamedGroupsClient {
    private static readonly MAX_DISPLAY_NAME_LENGTH;
    constructor(basePath?: string);
    createNamedGroup(accessToken: AccessToken, group: NamedGroupCreate): Promise<NamedGroup>;
    deleteNamedGroup(accessToken: AccessToken, groupId: string): Promise<Response>;
    updateNamedGroup(accessToken: AccessToken, groupId: string, group: NamedGroupUpdate): Promise<NamedGroup>;
    getNamedGroup(accessToken: AccessToken, groupId: string): Promise<NamedGroup>;
    getNamedGroups(accessToken: AccessToken, iTwinId: string, preferReturn?: PreferReturn.Minimal, top?: number): Promise<NamedGroupMinimalList>;
    getNamedGroups(accessToken: AccessToken, iTwinId: string, preferReturn: PreferReturn.Representation, top?: number): Promise<NamedGroupList>;
    getNamedGroupsIterator(accessToken: AccessToken, iTwinId: string, preferReturn?: PreferReturn.Minimal, top?: number): EntityListIterator<NamedGroupMinimal>;
    getNamedGroupsIterator(accessToken: AccessToken, iTwinId: string, preferReturn: PreferReturn.Representation, top?: number): EntityListIterator<NamedGroup>;
    private fetchCollection;
    /**
     * Validates metadata entries.
     * @param entries
     */
    private validateMetadata;
    protected constructUrl(groupId?: string, iTwinId?: string, top?: number): string;
}
//# sourceMappingURL=NamedGroupsClient.d.ts.map