import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { response } from "../../../structures/response";
import { interaction_minus_limit } from "../../../structures/interaction_minus_limit";
import { interaction_minus_limit_minus_response } from "../../../structures/interaction_minus_limit_minus_response";
/**
 * Get interaction restrictions for your public repositories.
 * Shows which type of GitHub user can interact with your public repositories and when the restriction expires.
 *
 * @tag interactions
 * @path user/interaction-limits
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function get(connection: IConnection): Promise<get.Output>;
export declare namespace get {
    type Output = response;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/user/interaction-limits";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: () => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => response;
    const simulate: (connection: IConnection) => Output;
}
/**
 * Set interaction restrictions for your public repositories.
 * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user.
 *
 * @tag interactions
 * @path user/interaction-limits
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function put(connection: IConnection, body: put.Input): Promise<put.Output>;
export declare namespace put {
    type Input = interaction_minus_limit;
    type Output = interaction_minus_limit_minus_response;
    const METADATA: {
        readonly method: "PUT";
        readonly path: "/user/interaction-limits";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: () => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => interaction_minus_limit_minus_response;
    const simulate: (connection: IConnection, body: put.Input) => Output;
}
/**
 * Remove interaction restrictions from your public repositories.
 * Removes any interaction restrictions from your public repositories.
 *
 * @tag interactions
 * @path user/interaction-limits
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function erase(connection: IConnection): Promise<void>;
export declare namespace erase {
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/user/interaction-limits";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: () => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection) => void;
}
