import type { KeycloakAdminClient } from "../client.js";
import IdentityProviderRepresentation from "../defs/identityProviderRepresentation.js";
import type OrganizationRepresentation from "../defs/organizationRepresentation.js";
import UserRepresentation from "../defs/userRepresentation.js";
import Resource from "./resource.js";
interface PaginatedQuery {
    first?: number;
    max?: number;
    search?: string;
}
export interface OrganizationQuery extends PaginatedQuery {
    q?: string;
    exact?: boolean;
}
interface MemberQuery extends PaginatedQuery {
    orgId: string;
}
export declare class Organizations extends Resource<{
    realm?: string;
}> {
    /**
     * Organizations
     */
    constructor(client: KeycloakAdminClient);
    find: (payload?: (OrganizationQuery & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<OrganizationRepresentation[]>;
    findOne: (payload?: ({
        id: string;
    } & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<OrganizationRepresentation>;
    create: (payload?: (OrganizationRepresentation & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<{
        id: string;
    }>;
    delById: (payload?: ({
        id: string;
    } & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<void>;
    updateById: (query: {
        id: string;
    } & {
        realm?: string | undefined;
    }, payload: OrganizationRepresentation) => Promise<void>;
    listMembers: (payload?: (MemberQuery & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<UserRepresentation[]>;
    addMember: (payload?: ({
        orgId: string;
        userId: string;
    } & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<string>;
    delMember: (payload?: ({
        orgId: string;
        userId: string;
    } & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<string>;
    invite: (query: {
        orgId: string;
    } & {
        realm?: string | undefined;
    }, payload: FormData) => Promise<any>;
    listIdentityProviders: (payload?: ({
        orgId: string;
    } & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<IdentityProviderRepresentation[]>;
    linkIdp: (payload?: ({
        orgId: string;
        alias: string;
    } & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<string>;
    unLinkIdp: (payload?: ({
        orgId: string;
        alias: string;
    } & {
        realm?: string | undefined;
    }) | undefined, options?: Pick<import("./agent.js").RequestArgs, "catchNotFound"> | undefined) => Promise<string>;
}
export {};
