import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Resource Type definition for AWS::EventSchemas::Schema
 *
 * ## Example Usage
 * ### Example
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as aws_native from "@pulumi/aws-native";
 *
 * const executionStatusChangeSchema = new aws_native.eventschemas.Schema("executionStatusChangeSchema", {
 *     registryName: "aws.events",
 *     schemaName: "ExecutionStatusChange",
 *     description: "event emitted when the status of a state machine execution change",
 *     type: "OpenApi3",
 *     content: "{   \"openapi\": \"3.0.0\",   \"info\": {     \"version\": \"1.0.0\",     \"title\": \"StepFunctionsExecutionStatusChange\"   },   \"paths\":{},   \"components\": {     \"schemas\": {       \"StepFunctionsExecutionStatusChange\": {         \"type\": \"object\",         \"required\": [ \"output\", \"input\", \"executionArn\", \"name\", \"stateMachineArn\", \"startDate\", \"stopDate\", \"status\" ],         \"properties\": {           \"output\": {\"type\": \"string\",\"nullable\": true},           \"input\": {\"type\": \"string\"},           \"executionArn\": {\"type\": \"string\"},           \"name\": {\"type\": \"string\"},           \"stateMachineArn\": {\"type\": \"string\"},           \"startDate\": {\"type\": \"integer\",\"format\": \"int64\"},           \"stopDate\": {\"type\": \"integer\",\"format\": \"int64\",\"nullable\": true},           \"status\": {\"type\": \"string\",\"enum\": [ \"FAILED\", \"RUNNING\", \"SUCCEEDED\", \"ABORTED\" ]}         }       }     }   } }",
 * });
 *
 * ```
 */
export declare class Schema extends pulumi.CustomResource {
    /**
     * Get an existing Schema 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 opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Schema;
    /**
     * Returns true if the given object is an instance of Schema.  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 Schema;
    /**
     * The source of the schema definition.
     */
    readonly content: pulumi.Output<string>;
    /**
     * A description of the schema.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The last modified time of the schema.
     */
    readonly lastModified: pulumi.Output<string>;
    /**
     * The name of the schema registry.
     */
    readonly registryName: pulumi.Output<string>;
    /**
     * The ARN of the schema.
     */
    readonly schemaArn: pulumi.Output<string>;
    /**
     * The name of the schema.
     */
    readonly schemaName: pulumi.Output<string | undefined>;
    /**
     * The version number of the schema.
     */
    readonly schemaVersion: pulumi.Output<string>;
    /**
     * Tags associated with the resource.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4.
     */
    readonly type: pulumi.Output<string>;
    /**
     * The date the schema version was created.
     */
    readonly versionCreatedDate: pulumi.Output<string>;
    /**
     * Create a Schema 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: SchemaArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Schema resource.
 */
export interface SchemaArgs {
    /**
     * The source of the schema definition.
     */
    content: pulumi.Input<string>;
    /**
     * A description of the schema.
     */
    description?: pulumi.Input<string>;
    /**
     * The name of the schema registry.
     */
    registryName: pulumi.Input<string>;
    /**
     * The name of the schema.
     */
    schemaName?: pulumi.Input<string>;
    /**
     * Tags associated with the resource.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4.
     */
    type: pulumi.Input<string>;
}
