/**
 * Azure Confidentialledger API
 *
 * Generated from the Azure REST API specs.
 * DO NOT EDIT - regenerate with: bun run generate
 */
import * as Schema from "effect/Schema";
export declare const CheckNameAvailabilityInput: Schema.Struct<{
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
}>;
export type CheckNameAvailabilityInput = typeof CheckNameAvailabilityInput.Type;
export declare const CheckNameAvailabilityOutput: Schema.Struct<{
    readonly nameAvailable: Schema.optional<Schema.Boolean>;
    readonly reason: Schema.optional<Schema.Literals<readonly ["Invalid", "AlreadyExists"]>>;
    readonly message: Schema.optional<Schema.String>;
}>;
export type CheckNameAvailabilityOutput = typeof CheckNameAvailabilityOutput.Type;
/**
 * To check whether a resource name is available.
 * @param name - The name of the resource for which availability needs to be checked.
 * @param type - The resource type.
 */
export declare const CheckNameAvailability: import("@distilled.cloud/core/client").OperationMethod<{
    readonly name?: string | undefined;
    readonly type?: string | undefined;
}, {
    readonly message?: string | undefined;
    readonly nameAvailable?: boolean | undefined;
    readonly reason?: "AlreadyExists" | "Invalid" | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const LedgerCreateInput: Schema.Struct<{}>;
export type LedgerCreateInput = typeof LedgerCreateInput.Type;
export declare const LedgerCreateOutput: Schema.Struct<{
    readonly name: Schema.optional<Schema.String>;
    readonly id: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
    readonly location: Schema.optional<Schema.String>;
    readonly tags: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
}>;
export type LedgerCreateOutput = typeof LedgerCreateOutput.Type;
/**
 * Creates a  Confidential Ledger.
 *
 * Creates a  Confidential Ledger with the specified ledger parameters.
 */
export declare const LedgerCreate: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly id?: string | undefined;
    readonly location?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly tags?: {
        readonly [x: string]: string;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const LedgerDeleteInput: Schema.Struct<{}>;
export type LedgerDeleteInput = typeof LedgerDeleteInput.Type;
export declare const LedgerDeleteOutput: Schema.Void;
export type LedgerDeleteOutput = typeof LedgerDeleteOutput.Type;
/**
 * Deletes a Confidential Ledger resource.
 *
 * Deletes an existing Confidential Ledger.
 */
export declare const LedgerDelete: import("@distilled.cloud/core/client").OperationMethod<{}, void, never, import("../credentials.ts").Credentials>;
export declare const LedgerFilesExportInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly ledgerName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type LedgerFilesExportInput = typeof LedgerFilesExportInput.Type;
export declare const LedgerFilesExportOutput: Schema.Struct<{
    readonly message: Schema.optional<Schema.String>;
}>;
export type LedgerFilesExportOutput = typeof LedgerFilesExportOutput.Type;
/**
 * Copies the ledger files and the service certificate to a customer's storage account of choice.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param ledgerName - Name of the Confidential Ledger
 */
export declare const LedgerFilesExport: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly ledgerName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly message?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const LedgerGetInput: Schema.Struct<{}>;
export type LedgerGetInput = typeof LedgerGetInput.Type;
export declare const LedgerGetOutput: Schema.Struct<{
    readonly name: Schema.optional<Schema.String>;
    readonly id: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
    readonly location: Schema.optional<Schema.String>;
    readonly tags: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
}>;
export type LedgerGetOutput = typeof LedgerGetOutput.Type;
/**
 * Retrieves information about a Confidential Ledger resource.
 *
 * Retrieves the properties of a Confidential Ledger.
 */
export declare const LedgerGet: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly id?: string | undefined;
    readonly location?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly tags?: {
        readonly [x: string]: string;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const LedgerListByResourceGroupInput: Schema.Struct<{
    readonly $filter: Schema.optional<Schema.String>;
}>;
export type LedgerListByResourceGroupInput = typeof LedgerListByResourceGroupInput.Type;
export declare const LedgerListByResourceGroupOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly name: Schema.optional<Schema.String>;
        readonly id: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
        readonly location: Schema.optional<Schema.String>;
        readonly tags: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type LedgerListByResourceGroupOutput = typeof LedgerListByResourceGroupOutput.Type;
/**
 * Retrieves information about all Confidential Ledger resources under the given subscription and resource group
 *
 * Retrieves the properties of all Confidential Ledgers.
 *
 * @param $filter - The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'
 */
export declare const LedgerListByResourceGroup: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly location?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly tags?: {
            readonly [x: string]: string;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const LedgerListBySubscriptionInput: Schema.Struct<{
    readonly $filter: Schema.optional<Schema.String>;
}>;
export type LedgerListBySubscriptionInput = typeof LedgerListBySubscriptionInput.Type;
export declare const LedgerListBySubscriptionOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly name: Schema.optional<Schema.String>;
        readonly id: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
        readonly location: Schema.optional<Schema.String>;
        readonly tags: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type LedgerListBySubscriptionOutput = typeof LedgerListBySubscriptionOutput.Type;
/**
 * Retrieves information about all Confidential Ledger resources under the given subscription
 *
 * Retrieves the properties of all Confidential Ledgers.
 *
 * @param $filter - The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'
 */
export declare const LedgerListBySubscription: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly location?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly tags?: {
            readonly [x: string]: string;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const LedgerUpdateInput: Schema.Struct<{}>;
export type LedgerUpdateInput = typeof LedgerUpdateInput.Type;
export declare const LedgerUpdateOutput: Schema.Struct<{
    readonly name: Schema.optional<Schema.String>;
    readonly id: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
    readonly location: Schema.optional<Schema.String>;
    readonly tags: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
}>;
export type LedgerUpdateOutput = typeof LedgerUpdateOutput.Type;
/**
 * Update Confidential Ledger properties
 *
 * Updates properties of Confidential Ledger
 */
export declare const LedgerUpdate: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly id?: string | undefined;
    readonly location?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly tags?: {
        readonly [x: string]: string;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const OperationsListInput: Schema.Struct<{}>;
export type OperationsListInput = typeof OperationsListInput.Type;
export declare const OperationsListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly name: Schema.optional<Schema.String>;
        readonly isDataAction: Schema.optional<Schema.Boolean>;
        readonly display: Schema.optional<Schema.Struct<{
            readonly provider: Schema.optional<Schema.String>;
            readonly resource: Schema.optional<Schema.String>;
            readonly operation: Schema.optional<Schema.String>;
            readonly description: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type OperationsListOutput = typeof OperationsListOutput.Type;
/**
 * Retrieves a list of available API operations under this Resource Provider.
 *
 * Retrieves a list of available API operations
 */
export declare const OperationsList: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly display?: {
            readonly description?: string | undefined;
            readonly operation?: string | undefined;
            readonly provider?: string | undefined;
            readonly resource?: string | undefined;
        } | undefined;
        readonly isDataAction?: boolean | undefined;
        readonly name?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=confidentialledger.d.ts.map