import * as pulumi from "@pulumi/pulumi";
/**
 * This data source provides details about a specific Service Provider resource in Oracle Cloud Infrastructure Delegate Access Control service.
 *
 * Gets a ServiceProvider by identifier
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testServiceProvider = oci.delegateaccesscontrol.getServiceProvider({
 *     serviceProviderId: testServiceProviderOciDelegateAccessControlServiceProvider.id,
 * });
 * ```
 */
export declare function getServiceProvider(args: GetServiceProviderArgs, opts?: pulumi.InvokeOptions): Promise<GetServiceProviderResult>;
/**
 * A collection of arguments for invoking getServiceProvider.
 */
export interface GetServiceProviderArgs {
    /**
     * unique Service Provider identifier
     */
    serviceProviderId: string;
}
/**
 * A collection of values returned by getServiceProvider.
 */
export interface GetServiceProviderResult {
    /**
     * The OCID of the compartment that contains the Delegation Control.
     */
    readonly compartmentId: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * Description of the Service Provider.
     */
    readonly description: string;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Description of the current lifecycle state in more detail.
     */
    readonly lifecycleStateDetails: string;
    /**
     * Unique name of the Service Provider.
     */
    readonly name: string;
    readonly serviceProviderId: string;
    /**
     * Service Provider type.
     */
    readonly serviceProviderType: string;
    /**
     * Types of services offered by this provider.
     */
    readonly serviceTypes: string[];
    /**
     * The current lifecycle state of the Service Provider.
     */
    readonly state: string;
    /**
     * Resource types for which this provider will provide service. Default to all if not specified.
     */
    readonly supportedResourceTypes: string[];
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace.  Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: {
        [key: string]: string;
    };
    /**
     * Time when the Service Provider was created expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-22T21:10:29.600Z'
     */
    readonly timeCreated: string;
    /**
     * Time when the Service Provider was last modified expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-22T21:10:29.600Z'
     */
    readonly timeUpdated: string;
}
/**
 * This data source provides details about a specific Service Provider resource in Oracle Cloud Infrastructure Delegate Access Control service.
 *
 * Gets a ServiceProvider by identifier
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testServiceProvider = oci.delegateaccesscontrol.getServiceProvider({
 *     serviceProviderId: testServiceProviderOciDelegateAccessControlServiceProvider.id,
 * });
 * ```
 */
export declare function getServiceProviderOutput(args: GetServiceProviderOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetServiceProviderResult>;
/**
 * A collection of arguments for invoking getServiceProvider.
 */
export interface GetServiceProviderOutputArgs {
    /**
     * unique Service Provider identifier
     */
    serviceProviderId: pulumi.Input<string>;
}
//# sourceMappingURL=getServiceProvider.d.ts.map