import * as core from "@terrascript/core";
export interface OnUploadArgs extends core.SchemaArgs {
    executionRole: string | core.StringOut;
    workflowId: string | core.StringOut;
}
export declare class OnUpload extends core.Schema<OnUploadArgs> {
    executionRole: string | core.StringOut;
    workflowId: string | core.StringOut;
}
export interface WorkflowDetailsArgs extends core.SchemaArgs {
    onUpload?: OnUpload;
}
export declare class WorkflowDetails extends core.Schema<WorkflowDetailsArgs> {
    onUpload?: OnUpload;
}
export interface EndpointDetailsArgs extends core.SchemaArgs {
    addressAllocationIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcEndpointId?: string | core.StringOut;
    vpcId?: string | core.StringOut;
}
export declare class EndpointDetails extends core.Schema<EndpointDetailsArgs> {
    addressAllocationIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcEndpointId?: string | core.StringOut;
    vpcId?: string | core.StringOut;
}
export interface ServerArgs extends core.ResourceArgs {
    certificate?: string | core.StringOut;
    directoryId?: string | core.StringOut;
    domain?: string | core.StringOut;
    endpointDetails?: EndpointDetails;
    endpointType?: string | core.StringOut;
    forceDestroy?: boolean | core.BooleanOut;
    function?: string | core.StringOut;
    hostKey?: string | core.StringOut;
    identityProviderType?: string | core.StringOut;
    invocationRole?: string | core.StringOut;
    loggingRole?: string | core.StringOut;
    postAuthenticationLoginBanner?: string | core.StringOut;
    preAuthenticationLoginBanner?: string | core.StringOut;
    protocols?: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityPolicyName?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    url?: string | core.StringOut;
    workflowDetails?: WorkflowDetails;
}
export declare class Server extends core.Resource<ServerArgs> {
    arn: string | core.StringOut;
    certificate?: string | core.StringOut;
    directoryId?: string | core.StringOut;
    domain?: string | core.StringOut;
    endpoint: string | core.StringOut;
    endpointDetails?: EndpointDetails;
    endpointType?: string | core.StringOut;
    forceDestroy?: boolean | core.BooleanOut;
    function?: string | core.StringOut;
    hostKey?: string | core.StringOut;
    hostKeyFingerprint: string | core.StringOut;
    id: string | core.StringOut;
    identityProviderType?: string | core.StringOut;
    invocationRole?: string | core.StringOut;
    loggingRole?: string | core.StringOut;
    postAuthenticationLoginBanner?: string | core.StringOut;
    preAuthenticationLoginBanner?: string | core.StringOut;
    protocols?: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityPolicyName?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    url?: string | core.StringOut;
    workflowDetails?: WorkflowDetails;
    constructor(name: string, args?: ServerArgs);
    getNamespace(): string;
}
//# sourceMappingURL=server.d.ts.map