import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiOrgsPropertiesSchema } from "../../../../structures/IApiOrgsPropertiesSchema";
import { custom_minus_property } from "../../../../structures/custom_minus_property";
import { body } from "../../../../structures/body";
/**
 * Get all custom properties for an organization.
 * Gets all custom properties defined for an organization.
 * Organization members can read these properties.
 *
 * @tag orgs
 * @path orgs/:org/properties/schema
 * @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 = IApiOrgsPropertiesSchema.GetHeader;
    type Output = custom_minus_property[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/orgs/:org/properties/schema";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => custom_minus_property[];
    const simulate: (connection: IConnection<getByOrg.Headers>, org: string) => Output;
}
/**
 * Create or update custom properties for an organization.
 * Creates new or updates existing custom properties defined for an organization in a batch.
 *
 * To use this endpoint, the authenticated user must be one of:
 * - An administrator for the organization.
 * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization.
 *
 * @tag orgs
 * @path orgs/:org/properties/schema
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function patchByOrg(connection: IConnection<patchByOrg.Headers>, org: string, body: patchByOrg.Input): Promise<patchByOrg.Output>;
export declare namespace patchByOrg {
    type Headers = IApiOrgsPropertiesSchema.PatchHeader;
    type Input = body;
    type Output = custom_minus_property[];
    const METADATA: {
        readonly method: "PATCH";
        readonly path: "/orgs/:org/properties/schema";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => custom_minus_property[];
    const simulate: (connection: IConnection<patchByOrg.Headers>, org: string, body: patchByOrg.Input) => Output;
}
/**
 * Get a custom property for an organization.
 * Gets a custom property that is defined for an organization.
 * Organization members can read these properties.
 *
 * @tag orgs
 * @path orgs/:org/properties/schema/:custom_property_name
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOrgAndCustom_property_name(connection: IConnection<getByOrgAndCustom_property_name.Headers>, org: string, custom_property_name: string): Promise<getByOrgAndCustom_property_name.Output>;
export declare namespace getByOrgAndCustom_property_name {
    type Headers = IApiOrgsPropertiesSchema.GetHeader;
    type Output = custom_minus_property;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/orgs/:org/properties/schema/:custom_property_name";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, custom_property_name: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => custom_minus_property;
    const simulate: (connection: IConnection<getByOrgAndCustom_property_name.Headers>, org: string, custom_property_name: string) => Output;
}
/**
 * Create or update a custom property for an organization.
 * Creates a new or updates an existing custom property that is defined for an organization.
 *
 * To use this endpoint, the authenticated user must be one of:
 * - An administrator for the organization.
 * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization.
 *
 * @tag orgs
 * @path orgs/:org/properties/schema/:custom_property_name
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function putByOrgAndCustom_property_name(connection: IConnection<putByOrgAndCustom_property_name.Headers>, org: string, custom_property_name: string, body: putByOrgAndCustom_property_name.Input): Promise<putByOrgAndCustom_property_name.Output>;
export declare namespace putByOrgAndCustom_property_name {
    type Headers = IApiOrgsPropertiesSchema.PutHeader;
    type Input = body;
    type Output = custom_minus_property;
    const METADATA: {
        readonly method: "PUT";
        readonly path: "/orgs/:org/properties/schema/:custom_property_name";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, custom_property_name: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => custom_minus_property;
    const simulate: (connection: IConnection<putByOrgAndCustom_property_name.Headers>, org: string, custom_property_name: string, body: putByOrgAndCustom_property_name.Input) => Output;
}
/**
 * Remove a custom property for an organization.
 * Removes a custom property that is defined for an organization.
 *
 * To use this endpoint, the authenticated user must be one of:
 * - An administrator for the organization.
 * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization.
 *
 * @tag orgs
 * @path orgs/:org/properties/schema/:custom_property_name
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByOrgAndCustom_property_name(connection: IConnection<eraseByOrgAndCustom_property_name.Headers>, org: string, custom_property_name: string): Promise<void>;
export declare namespace eraseByOrgAndCustom_property_name {
    type Headers = IApiOrgsPropertiesSchema.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/orgs/:org/properties/schema/:custom_property_name";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, custom_property_name: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<eraseByOrgAndCustom_property_name.Headers>, org: string, custom_property_name: string) => void;
}
