import * as core from "@terrascript/core";
export interface NotificationsArgs extends core.SchemaArgs {
    completed?: string | core.StringOut;
    error?: string | core.StringOut;
    progressing?: string | core.StringOut;
    warning?: string | core.StringOut;
}
export declare class Notifications extends core.Schema<NotificationsArgs> {
    completed?: string | core.StringOut;
    error?: string | core.StringOut;
    progressing?: string | core.StringOut;
    warning?: string | core.StringOut;
}
export interface ContentConfigArgs extends core.SchemaArgs {
    bucket?: string | core.StringOut;
    storageClass?: string | core.StringOut;
}
export declare class ContentConfig extends core.Schema<ContentConfigArgs> {
    bucket?: string | core.StringOut;
    storageClass?: string | core.StringOut;
}
export interface ThumbnailConfigArgs extends core.SchemaArgs {
    bucket?: string | core.StringOut;
    storageClass?: string | core.StringOut;
}
export declare class ThumbnailConfig extends core.Schema<ThumbnailConfigArgs> {
    bucket?: string | core.StringOut;
    storageClass?: string | core.StringOut;
}
export interface ThumbnailConfigPermissionsArgs extends core.SchemaArgs {
    access?: core.Array<string> | core.ArrayOut<core.StringOut>;
    grantee?: string | core.StringOut;
    granteeType?: string | core.StringOut;
}
export declare class ThumbnailConfigPermissions extends core.Schema<ThumbnailConfigPermissionsArgs> {
    access?: core.Array<string> | core.ArrayOut<core.StringOut>;
    grantee?: string | core.StringOut;
    granteeType?: string | core.StringOut;
}
export interface ContentConfigPermissionsArgs extends core.SchemaArgs {
    access?: core.Array<string> | core.ArrayOut<core.StringOut>;
    grantee?: string | core.StringOut;
    granteeType?: string | core.StringOut;
}
export declare class ContentConfigPermissions extends core.Schema<ContentConfigPermissionsArgs> {
    access?: core.Array<string> | core.ArrayOut<core.StringOut>;
    grantee?: string | core.StringOut;
    granteeType?: string | core.StringOut;
}
export interface PipelineArgs extends core.ResourceArgs {
    awsKmsKeyArn?: string | core.StringOut;
    contentConfig?: ContentConfig;
    contentConfigPermissions?: core.Array<ContentConfigPermissions> | core.ArrayOut<ContentConfigPermissions>;
    inputBucket: string | core.StringOut;
    name?: string | core.StringOut;
    notifications?: Notifications;
    outputBucket?: string | core.StringOut;
    role: string | core.StringOut;
    thumbnailConfig?: ThumbnailConfig;
    thumbnailConfigPermissions?: core.Array<ThumbnailConfigPermissions> | core.ArrayOut<ThumbnailConfigPermissions>;
}
export declare class Pipeline extends core.Resource<PipelineArgs> {
    arn: string | core.StringOut;
    awsKmsKeyArn?: string | core.StringOut;
    contentConfig?: ContentConfig;
    contentConfigPermissions?: core.Array<ContentConfigPermissions> | core.ArrayOut<ContentConfigPermissions>;
    id: string | core.StringOut;
    inputBucket: string | core.StringOut;
    name?: string | core.StringOut;
    notifications?: Notifications;
    outputBucket?: string | core.StringOut;
    role: string | core.StringOut;
    thumbnailConfig?: ThumbnailConfig;
    thumbnailConfigPermissions?: core.Array<ThumbnailConfigPermissions> | core.ArrayOut<ThumbnailConfigPermissions>;
    constructor(name: string, args?: PipelineArgs);
    getNamespace(): string;
}
//# sourceMappingURL=pipeline.d.ts.map