import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Internal Occ Availability Catalogs in Oracle Cloud Infrastructure Capacity Management service.
 *
 * An internal api to list availability catalogs.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testInternalOccAvailabilityCatalogs = oci.capacitymanagement.getInternalOccAvailabilityCatalogs({
 *     compartmentId: compartmentId,
 *     occCustomerGroupId: testOccCustomerGroup.id,
 *     catalogState: internalOccAvailabilityCatalogCatalogState,
 *     displayName: internalOccAvailabilityCatalogDisplayName,
 *     id: internalOccAvailabilityCatalogId,
 *     namespace: internalOccAvailabilityCatalogNamespace,
 * });
 * ```
 */
export declare function getInternalOccAvailabilityCatalogs(args: GetInternalOccAvailabilityCatalogsArgs, opts?: pulumi.InvokeOptions): Promise<GetInternalOccAvailabilityCatalogsResult>;
/**
 * A collection of arguments for invoking getInternalOccAvailabilityCatalogs.
 */
export interface GetInternalOccAvailabilityCatalogsArgs {
    /**
     * Filter the list of availability catalogs based on the catalog state.
     */
    catalogState?: string;
    /**
     * The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.
     */
    compartmentId: string;
    /**
     * A filter to return only the resources that match the entire display name. The match is not case sensitive.
     */
    displayName?: string;
    filters?: inputs.CapacityManagement.GetInternalOccAvailabilityCatalogsFilter[];
    /**
     * The OCID of the availability catalog to filter the list of availability catalogs.
     */
    id?: string;
    /**
     * The namespace by which we would filter the list.
     */
    namespace?: string;
    /**
     * The customer group ocid by which we would filter the list.
     */
    occCustomerGroupId: string;
}
/**
 * A collection of values returned by getInternalOccAvailabilityCatalogs.
 */
export interface GetInternalOccAvailabilityCatalogsResult {
    /**
     * Represents whether this version of the availability catalog has been made available to the customer. The state is No by default.
     */
    readonly catalogState?: string;
    /**
     * The OCID of the tenancy where the availability catalog resides.
     */
    readonly compartmentId: string;
    /**
     * An user-friendly name for the availability catalog. Does not have to be unique, and is changeable. Avoid entering confidential information.
     */
    readonly displayName?: string;
    readonly filters?: outputs.CapacityManagement.GetInternalOccAvailabilityCatalogsFilter[];
    /**
     * The OCID of the availability catalog.
     */
    readonly id?: string;
    /**
     * The name of the Oracle Cloud Infrastructure service in consideration. For example, Compute, Exadata, and so on.
     */
    readonly namespace?: string;
    /**
     * The list of occ_availability_catalog_collection.
     */
    readonly occAvailabilityCatalogCollections: outputs.CapacityManagement.GetInternalOccAvailabilityCatalogsOccAvailabilityCatalogCollection[];
    /**
     * The Customer Group OCID to which the availability catalog belongs.
     */
    readonly occCustomerGroupId: string;
}
/**
 * This data source provides the list of Internal Occ Availability Catalogs in Oracle Cloud Infrastructure Capacity Management service.
 *
 * An internal api to list availability catalogs.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testInternalOccAvailabilityCatalogs = oci.capacitymanagement.getInternalOccAvailabilityCatalogs({
 *     compartmentId: compartmentId,
 *     occCustomerGroupId: testOccCustomerGroup.id,
 *     catalogState: internalOccAvailabilityCatalogCatalogState,
 *     displayName: internalOccAvailabilityCatalogDisplayName,
 *     id: internalOccAvailabilityCatalogId,
 *     namespace: internalOccAvailabilityCatalogNamespace,
 * });
 * ```
 */
export declare function getInternalOccAvailabilityCatalogsOutput(args: GetInternalOccAvailabilityCatalogsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInternalOccAvailabilityCatalogsResult>;
/**
 * A collection of arguments for invoking getInternalOccAvailabilityCatalogs.
 */
export interface GetInternalOccAvailabilityCatalogsOutputArgs {
    /**
     * Filter the list of availability catalogs based on the catalog state.
     */
    catalogState?: pulumi.Input<string | undefined>;
    /**
     * The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * A filter to return only the resources that match the entire display name. The match is not case sensitive.
     */
    displayName?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.CapacityManagement.GetInternalOccAvailabilityCatalogsFilterArgs>[] | undefined>;
    /**
     * The OCID of the availability catalog to filter the list of availability catalogs.
     */
    id?: pulumi.Input<string | undefined>;
    /**
     * The namespace by which we would filter the list.
     */
    namespace?: pulumi.Input<string | undefined>;
    /**
     * The customer group ocid by which we would filter the list.
     */
    occCustomerGroupId: pulumi.Input<string>;
}
//# sourceMappingURL=getInternalOccAvailabilityCatalogs.d.ts.map