import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * Use this data source to list software catalog entities to use in other resources.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as datadog from "@pulumi/datadog";
 *
 * const test = datadog.getSoftwareCatalog({});
 * ```
 */
export declare function getSoftwareCatalog(args?: GetSoftwareCatalogArgs, opts?: pulumi.InvokeOptions): Promise<GetSoftwareCatalogResult>;
/**
 * A collection of arguments for invoking getSoftwareCatalog.
 */
export interface GetSoftwareCatalogArgs {
    /**
     * Filter entities by excluding snapshotted entities.
     */
    filterExcludeSnapshot?: string;
    /**
     * Filter entities by UUID.
     */
    filterId?: string;
    /**
     * Filter entities by kind.
     */
    filterKind?: string;
    /**
     * Filter entities by name.
     */
    filterName?: string;
    /**
     * Filter entities by owner.
     */
    filterOwner?: string;
    /**
     * Filter entities by reference.
     */
    filterRef?: string;
    /**
     * Filter entities by relation type. Valid values are `RelationTypeOwns`, `RelationTypeOwnedBy`, `RelationTypeDependsOn`, `RelationTypeDependencyOf`, `RelationTypePartsOf`, `RelationTypeHasPart`, `RelationTypeOtherOwns`, `RelationTypeOtherOwnedBy`, `RelationTypeImplementedBy`, `RelationTypeImplements`.
     */
    filterRelationType?: string;
}
/**
 * A collection of values returned by getSoftwareCatalog.
 */
export interface GetSoftwareCatalogResult {
    /**
     * List of entities
     */
    readonly entities: outputs.GetSoftwareCatalogEntity[];
    /**
     * Filter entities by excluding snapshotted entities.
     */
    readonly filterExcludeSnapshot?: string;
    /**
     * Filter entities by UUID.
     */
    readonly filterId?: string;
    /**
     * Filter entities by kind.
     */
    readonly filterKind?: string;
    /**
     * Filter entities by name.
     */
    readonly filterName?: string;
    /**
     * Filter entities by owner.
     */
    readonly filterOwner?: string;
    /**
     * Filter entities by reference.
     */
    readonly filterRef?: string;
    /**
     * Filter entities by relation type. Valid values are `RelationTypeOwns`, `RelationTypeOwnedBy`, `RelationTypeDependsOn`, `RelationTypeDependencyOf`, `RelationTypePartsOf`, `RelationTypeHasPart`, `RelationTypeOtherOwns`, `RelationTypeOtherOwnedBy`, `RelationTypeImplementedBy`, `RelationTypeImplements`.
     */
    readonly filterRelationType?: string;
    /**
     * The ID of this resource.
     */
    readonly id: string;
}
/**
 * Use this data source to list software catalog entities to use in other resources.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as datadog from "@pulumi/datadog";
 *
 * const test = datadog.getSoftwareCatalog({});
 * ```
 */
export declare function getSoftwareCatalogOutput(args?: GetSoftwareCatalogOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSoftwareCatalogResult>;
/**
 * A collection of arguments for invoking getSoftwareCatalog.
 */
export interface GetSoftwareCatalogOutputArgs {
    /**
     * Filter entities by excluding snapshotted entities.
     */
    filterExcludeSnapshot?: pulumi.Input<string | undefined>;
    /**
     * Filter entities by UUID.
     */
    filterId?: pulumi.Input<string | undefined>;
    /**
     * Filter entities by kind.
     */
    filterKind?: pulumi.Input<string | undefined>;
    /**
     * Filter entities by name.
     */
    filterName?: pulumi.Input<string | undefined>;
    /**
     * Filter entities by owner.
     */
    filterOwner?: pulumi.Input<string | undefined>;
    /**
     * Filter entities by reference.
     */
    filterRef?: pulumi.Input<string | undefined>;
    /**
     * Filter entities by relation type. Valid values are `RelationTypeOwns`, `RelationTypeOwnedBy`, `RelationTypeDependsOn`, `RelationTypeDependencyOf`, `RelationTypePartsOf`, `RelationTypeHasPart`, `RelationTypeOtherOwns`, `RelationTypeOtherOwnedBy`, `RelationTypeImplementedBy`, `RelationTypeImplements`.
     */
    filterRelationType?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getSoftwareCatalog.d.ts.map