/**
 * Cloudflare ORGANIZATIONS API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service organizations
 */
import * as Schema from "effect/Schema";
import type * as HttpClient from "effect/unstable/http/HttpClient";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import { type DefaultErrors } from "../errors.ts";
export interface GetOrganizationRequest {
    organizationId: string;
}
export declare const GetOrganizationRequest: Schema.Schema<GetOrganizationRequest>;
export interface GetOrganizationResponse {
    id: string;
    createTime: string;
    meta: {
        flags?: {
            accountCreation: string;
            accountDeletion: string;
            accountMigration: string;
            accountMobility: string;
            subOrgCreation: string;
        } | null;
        managedBy?: string | null;
    };
    name: string;
    parent?: {
        id: string;
        name: string;
    } | null;
    profile?: {
        businessAddress: string;
        businessEmail: string;
        businessName: string;
        businessPhone: string;
        externalMetadata: string;
    } | null;
}
export declare const GetOrganizationResponse: Schema.Schema<GetOrganizationResponse>;
export type GetOrganizationError = DefaultErrors;
export declare const getOrganization: API.OperationMethod<GetOrganizationRequest, GetOrganizationResponse, GetOrganizationError, Credentials | HttpClient.HttpClient>;
export interface ListOrganizationsRequest {
}
export declare const ListOrganizationsRequest: Schema.Schema<ListOrganizationsRequest>;
export interface ListOrganizationsResponse {
    result: {
        id: string;
        createTime: string;
        meta: {
            flags?: {
                accountCreation: string;
                accountDeletion: string;
                accountMigration: string;
                accountMobility: string;
                subOrgCreation: string;
            } | null;
            managedBy?: string | null;
        };
        name: string;
        parent?: {
            id: string;
            name: string;
        } | null;
        profile?: {
            businessAddress: string;
            businessEmail: string;
            businessName: string;
            businessPhone: string;
            externalMetadata: string;
        } | null;
    }[];
}
export declare const ListOrganizationsResponse: Schema.Schema<ListOrganizationsResponse>;
export type ListOrganizationsError = DefaultErrors;
export declare const listOrganizations: API.PaginatedOperationMethod<ListOrganizationsRequest, ListOrganizationsResponse, ListOrganizationsError, Credentials | HttpClient.HttpClient>;
export interface CreateOrganizationRequest {
    name: string;
    parent?: {
        id: string;
    };
    profile?: {
        businessAddress: string;
        businessEmail: string;
        businessName: string;
        businessPhone: string;
        externalMetadata: string;
    };
}
export declare const CreateOrganizationRequest: Schema.Schema<CreateOrganizationRequest>;
export interface CreateOrganizationResponse {
    id: string;
    createTime: string;
    meta: {
        flags?: {
            accountCreation: string;
            accountDeletion: string;
            accountMigration: string;
            accountMobility: string;
            subOrgCreation: string;
        } | null;
        managedBy?: string | null;
    };
    name: string;
    parent?: {
        id: string;
        name: string;
    } | null;
    profile?: {
        businessAddress: string;
        businessEmail: string;
        businessName: string;
        businessPhone: string;
        externalMetadata: string;
    } | null;
}
export declare const CreateOrganizationResponse: Schema.Schema<CreateOrganizationResponse>;
export type CreateOrganizationError = DefaultErrors;
export declare const createOrganization: API.OperationMethod<CreateOrganizationRequest, CreateOrganizationResponse, CreateOrganizationError, Credentials | HttpClient.HttpClient>;
export interface UpdateOrganizationRequest {
    organizationId: string;
    name: string;
    parent?: {
        id: string;
    };
    profile?: {
        businessAddress: string;
        businessEmail: string;
        businessName: string;
        businessPhone: string;
        externalMetadata: string;
    };
}
export declare const UpdateOrganizationRequest: Schema.Schema<UpdateOrganizationRequest>;
export interface UpdateOrganizationResponse {
    id: string;
    createTime: string;
    meta: {
        flags?: {
            accountCreation: string;
            accountDeletion: string;
            accountMigration: string;
            accountMobility: string;
            subOrgCreation: string;
        } | null;
        managedBy?: string | null;
    };
    name: string;
    parent?: {
        id: string;
        name: string;
    } | null;
    profile?: {
        businessAddress: string;
        businessEmail: string;
        businessName: string;
        businessPhone: string;
        externalMetadata: string;
    } | null;
}
export declare const UpdateOrganizationResponse: Schema.Schema<UpdateOrganizationResponse>;
export type UpdateOrganizationError = DefaultErrors;
export declare const updateOrganization: API.OperationMethod<UpdateOrganizationRequest, UpdateOrganizationResponse, UpdateOrganizationError, Credentials | HttpClient.HttpClient>;
export interface DeleteOrganizationRequest {
    organizationId: string;
}
export declare const DeleteOrganizationRequest: Schema.Schema<DeleteOrganizationRequest>;
export interface DeleteOrganizationResponse {
    id: string;
}
export declare const DeleteOrganizationResponse: Schema.Schema<DeleteOrganizationResponse>;
export type DeleteOrganizationError = DefaultErrors;
export declare const deleteOrganization: API.OperationMethod<DeleteOrganizationRequest, DeleteOrganizationResponse, DeleteOrganizationError, Credentials | HttpClient.HttpClient>;
export interface GetOrganizationProfileRequest {
    organizationId: string;
}
export declare const GetOrganizationProfileRequest: Schema.Schema<GetOrganizationProfileRequest>;
export interface GetOrganizationProfileResponse {
    businessAddress: string;
    businessEmail: string;
    businessName: string;
    businessPhone: string;
    externalMetadata: string;
}
export declare const GetOrganizationProfileResponse: Schema.Schema<GetOrganizationProfileResponse>;
export type GetOrganizationProfileError = DefaultErrors;
export declare const getOrganizationProfile: API.OperationMethod<GetOrganizationProfileRequest, GetOrganizationProfileResponse, GetOrganizationProfileError, Credentials | HttpClient.HttpClient>;
export interface PutOrganizationProfileRequest {
    organizationId: string;
    businessAddress: string;
    businessEmail: string;
    businessName: string;
    businessPhone: string;
    externalMetadata: string;
}
export declare const PutOrganizationProfileRequest: Schema.Schema<PutOrganizationProfileRequest>;
export type PutOrganizationProfileResponse = unknown;
export declare const PutOrganizationProfileResponse: Schema.Schema<PutOrganizationProfileResponse>;
export type PutOrganizationProfileError = DefaultErrors;
export declare const putOrganizationProfile: API.OperationMethod<PutOrganizationProfileRequest, PutOrganizationProfileResponse, PutOrganizationProfileError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=organizations.d.ts.map