import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiOrgsBlocks } from "../../../structures/IApiOrgsBlocks";
import { simple_minus_user } from "../../../structures/simple_minus_user";
/**
 * List users blocked by an organization.
 * List the users blocked by an organization.
 *
 * @tag orgs
 * @path orgs/:org/blocks
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOrg(connection: IConnection<getByOrg.Headers>, org: string): Promise<getByOrg.Output>;
export declare namespace getByOrg {
    type Headers = IApiOrgsBlocks.GetHeader;
    type Output = simple_minus_user[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/orgs/:org/blocks";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => simple_minus_user[];
    const simulate: (connection: IConnection<getByOrg.Headers>, org: string) => Output;
}
/**
 * Check if a user is blocked by an organization.
 * Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub.
 *
 * @tag orgs
 * @path orgs/:org/blocks/:username
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOrgAndUsername(connection: IConnection<getByOrgAndUsername.Headers>, org: string, username: string): Promise<void>;
export declare namespace getByOrgAndUsername {
    type Headers = IApiOrgsBlocks.GetHeader;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/orgs/:org/blocks/:username";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, username: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<getByOrgAndUsername.Headers>, org: string, username: string) => void;
}
/**
 * Block a user from an organization.
 * Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned.
 *
 * @tag orgs
 * @path orgs/:org/blocks/:username
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function putByOrgAndUsername(connection: IConnection<putByOrgAndUsername.Headers>, org: string, username: string): Promise<void>;
export declare namespace putByOrgAndUsername {
    type Headers = IApiOrgsBlocks.PutHeader;
    const METADATA: {
        readonly method: "PUT";
        readonly path: "/orgs/:org/blocks/:username";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, username: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<putByOrgAndUsername.Headers>, org: string, username: string) => void;
}
/**
 * Unblock a user from an organization.
 * Unblocks the given user on behalf of the specified organization.
 *
 * @tag orgs
 * @path orgs/:org/blocks/:username
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByOrgAndUsername(connection: IConnection<eraseByOrgAndUsername.Headers>, org: string, username: string): Promise<void>;
export declare namespace eraseByOrgAndUsername {
    type Headers = IApiOrgsBlocks.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/orgs/:org/blocks/:username";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, username: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<eraseByOrgAndUsername.Headers>, org: string, username: string) => void;
}
