import * as pulumi from "@pulumi/pulumi";
/**
 * Manages SAML certificates for an organization. SAML certificates are used to establish trust between your organization and identity providers. SAML (Security Assertion Markup Language) is an open standard for exchanging authentication and authorization data between parties, specifically between an identity provider and a service provider. This resource allows you to manage SAML certificates in your Scaleway organization.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * //## Enable IAM SAML for the default organization and add a signing certificate
 * const test = new scaleway.iam.Saml("test", {});
 * const main = new scaleway.iam.SamlCertificate("main", {
 *     samlId: test.id,
 *     type: "signing",
 *     content: "<signing certificate generated by your Identity Provider>",
 * });
 * ```
 */
export declare class SamlCertificate extends pulumi.CustomResource {
    /**
     * Get an existing SamlCertificate resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SamlCertificateState, opts?: pulumi.CustomResourceOptions): SamlCertificate;
    /**
     * Returns true if the given object is an instance of SamlCertificate.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is SamlCertificate;
    /**
     * The content of the SAML certificate
     */
    readonly content: pulumi.Output<string>;
    /**
     * (String) The expiration date and time of the SAML certificate
     */
    readonly expiresAt: pulumi.Output<string>;
    /**
     * The organization ID. If not provided, the default organization configured in the provider is used.
     */
    readonly organizationId: pulumi.Output<string>;
    /**
     * (String) The origin of the SAML certificate. Possible values are: `scaleway`, `identityProvider`.
     */
    readonly origin: pulumi.Output<string>;
    /**
     * The ID of the SAML configuration. If not provided, the organization's SAML configuration is used.
     */
    readonly samlId: pulumi.Output<string>;
    /**
     * The type of the SAML certificate. Possible values are: `signing`, `encryption`.
     */
    readonly type: pulumi.Output<string>;
    /**
     * Create a SamlCertificate resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: SamlCertificateArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering SamlCertificate resources.
 */
export interface SamlCertificateState {
    /**
     * The content of the SAML certificate
     */
    content?: pulumi.Input<string | undefined>;
    /**
     * (String) The expiration date and time of the SAML certificate
     */
    expiresAt?: pulumi.Input<string | undefined>;
    /**
     * The organization ID. If not provided, the default organization configured in the provider is used.
     */
    organizationId?: pulumi.Input<string | undefined>;
    /**
     * (String) The origin of the SAML certificate. Possible values are: `scaleway`, `identityProvider`.
     */
    origin?: pulumi.Input<string | undefined>;
    /**
     * The ID of the SAML configuration. If not provided, the organization's SAML configuration is used.
     */
    samlId?: pulumi.Input<string | undefined>;
    /**
     * The type of the SAML certificate. Possible values are: `signing`, `encryption`.
     */
    type?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a SamlCertificate resource.
 */
export interface SamlCertificateArgs {
    /**
     * The content of the SAML certificate
     */
    content: pulumi.Input<string>;
    /**
     * The organization ID. If not provided, the default organization configured in the provider is used.
     */
    organizationId?: pulumi.Input<string | undefined>;
    /**
     * The ID of the SAML configuration. If not provided, the organization's SAML configuration is used.
     */
    samlId?: pulumi.Input<string | undefined>;
    /**
     * The type of the SAML certificate. Possible values are: `signing`, `encryption`.
     */
    type: pulumi.Input<string>;
}
//# sourceMappingURL=samlCertificate.d.ts.map