import * as core from "@terrascript/core";
export interface ProvisioningArtifactParametersArgs extends core.SchemaArgs {
    description?: string | core.StringOut;
    disableTemplateValidation?: boolean | core.BooleanOut;
    name?: string | core.StringOut;
    templatePhysicalId?: string | core.StringOut;
    templateUrl?: string | core.StringOut;
    type?: string | core.StringOut;
}
export declare class ProvisioningArtifactParameters extends core.Schema<ProvisioningArtifactParametersArgs> {
    description?: string | core.StringOut;
    disableTemplateValidation?: boolean | core.BooleanOut;
    name?: string | core.StringOut;
    templatePhysicalId?: string | core.StringOut;
    templateUrl?: string | core.StringOut;
    type?: string | core.StringOut;
}
export interface ProductArgs extends core.ResourceArgs {
    acceptLanguage?: string | core.StringOut;
    description?: string | core.StringOut;
    distributor?: string | core.StringOut;
    name: string | core.StringOut;
    owner: string | core.StringOut;
    provisioningArtifactParameters: ProvisioningArtifactParameters;
    supportDescription?: string | core.StringOut;
    supportEmail?: string | core.StringOut;
    supportUrl?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type: string | core.StringOut;
}
export declare class Product extends core.Resource<ProductArgs> {
    acceptLanguage?: string | core.StringOut;
    arn: string | core.StringOut;
    createdTime: string | core.StringOut;
    description?: string | core.StringOut;
    distributor?: string | core.StringOut;
    hasDefaultPath: boolean | core.BooleanOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
    owner: string | core.StringOut;
    provisioningArtifactParameters: ProvisioningArtifactParameters;
    status: string | core.StringOut;
    supportDescription?: string | core.StringOut;
    supportEmail?: string | core.StringOut;
    supportUrl?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type: string | core.StringOut;
    constructor(name: string, args?: ProductArgs);
    getNamespace(): string;
}
//# sourceMappingURL=product.d.ts.map