import { Materializer, Runtime } from "../runtimes/mod.js";
import { S3PresignGetParams, S3PresignPutParams, S3RuntimeData } from "../gen/interfaces/metatype-typegraph-aws.js";
import { t } from "../index.js";
type S3PresignGetMat = Materializer & S3PresignGetParams;
type S3PresignPutMat = Materializer & S3PresignPutParams;
type S3ListMat = Materializer & {
    bucket: string;
};
type S3UploadMat = Materializer & {
    bucket: string;
};
type S3UploadAllMat = Materializer & {
    bucket: string;
};
export declare class S3Runtime extends Runtime {
    hostSecret: string;
    regionSecret: string;
    accessKeySecret: string;
    secretKeySecret: string;
    pathStyleSecret: string;
    constructor(options: S3RuntimeData);
    presignGet(params: S3PresignGetParams): t.Func<t.Struct<{
        path: {
            readonly min?: number | undefined;
            readonly max?: number | undefined;
            readonly format?: string | undefined;
            readonly pattern?: string | undefined;
            readonly enumeration?: string[] | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
                readonly item?: number | undefined;
                readonly defaultItem?: string | undefined;
                readonly name?: string | undefined;
                readonly runtimeConfig?: [string, string][] | undefined;
                policy: import("../policy.js").default[] | null;
                readonly _id: number;
                readonly repr: string | null;
                withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
                rename(name: string): any;
                asTypedef(): t.Typedef;
                optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
                withInjection(injection: string): any;
                set(value: unknown): any;
                inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromRandom(): any;
            };
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
    }>, {
        readonly min?: number | undefined;
        readonly max?: number | undefined;
        readonly format?: string | undefined;
        readonly pattern?: string | undefined;
        readonly enumeration?: string[] | undefined;
        readonly name?: string | undefined;
        readonly runtimeConfig?: [string, string][] | undefined;
        policy: import("../policy.js").default[] | null;
        readonly _id: number;
        readonly repr: string | null;
        withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
        rename(name: string): any;
        asTypedef(): t.Typedef;
        optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
            readonly item?: number | undefined;
            readonly defaultItem?: string | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
        withInjection(injection: string): any;
        set(value: unknown): any;
        inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromRandom(): any;
    }, S3PresignGetMat>;
    presignPut(params: S3PresignPutParams): t.Func<t.Struct<{
        length: {
            readonly min?: number | undefined;
            readonly max?: number | undefined;
            readonly exclusiveMinimum?: number | undefined;
            readonly exclusiveMaximum?: number | undefined;
            readonly multipleOf?: number | undefined;
            readonly enumeration?: Int32Array | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
                readonly item?: number | undefined;
                readonly defaultItem?: string | undefined;
                readonly name?: string | undefined;
                readonly runtimeConfig?: [string, string][] | undefined;
                policy: import("../policy.js").default[] | null;
                readonly _id: number;
                readonly repr: string | null;
                withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
                rename(name: string): any;
                asTypedef(): t.Typedef;
                optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
                withInjection(injection: string): any;
                set(value: unknown): any;
                inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromRandom(): any;
            };
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
        path: {
            readonly min?: number | undefined;
            readonly max?: number | undefined;
            readonly format?: string | undefined;
            readonly pattern?: string | undefined;
            readonly enumeration?: string[] | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
                readonly item?: number | undefined;
                readonly defaultItem?: string | undefined;
                readonly name?: string | undefined;
                readonly runtimeConfig?: [string, string][] | undefined;
                policy: import("../policy.js").default[] | null;
                readonly _id: number;
                readonly repr: string | null;
                withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
                rename(name: string): any;
                asTypedef(): t.Typedef;
                optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
                withInjection(injection: string): any;
                set(value: unknown): any;
                inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromRandom(): any;
            };
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
    }>, {
        readonly min?: number | undefined;
        readonly max?: number | undefined;
        readonly format?: string | undefined;
        readonly pattern?: string | undefined;
        readonly enumeration?: string[] | undefined;
        readonly name?: string | undefined;
        readonly runtimeConfig?: [string, string][] | undefined;
        policy: import("../policy.js").default[] | null;
        readonly _id: number;
        readonly repr: string | null;
        withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
        rename(name: string): any;
        asTypedef(): t.Typedef;
        optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
            readonly item?: number | undefined;
            readonly defaultItem?: string | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
        withInjection(injection: string): any;
        set(value: unknown): any;
        inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromRandom(): any;
    }, S3PresignPutMat>;
    list(bucket: string): t.Func<t.Struct<{
        path: {
            readonly item?: number | undefined;
            readonly defaultItem?: string | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
    }>, t.Struct<{
        keys: {
            readonly min?: number | undefined;
            readonly max?: number | undefined;
            readonly items?: number | undefined;
            readonly uniqueItems?: boolean | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
                readonly item?: number | undefined;
                readonly defaultItem?: string | undefined;
                readonly name?: string | undefined;
                readonly runtimeConfig?: [string, string][] | undefined;
                policy: import("../policy.js").default[] | null;
                readonly _id: number;
                readonly repr: string | null;
                withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
                rename(name: string): any;
                asTypedef(): t.Typedef;
                optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
                withInjection(injection: string): any;
                set(value: unknown): any;
                inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromRandom(): any;
            };
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
        prefix: {
            readonly min?: number | undefined;
            readonly max?: number | undefined;
            readonly items?: number | undefined;
            readonly uniqueItems?: boolean | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
                readonly item?: number | undefined;
                readonly defaultItem?: string | undefined;
                readonly name?: string | undefined;
                readonly runtimeConfig?: [string, string][] | undefined;
                policy: import("../policy.js").default[] | null;
                readonly _id: number;
                readonly repr: string | null;
                withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
                rename(name: string): any;
                asTypedef(): t.Typedef;
                optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
                withInjection(injection: string): any;
                set(value: unknown): any;
                inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromRandom(): any;
            };
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
    }>, S3ListMat>;
    upload(bucket: string, overrideFileType?: t.Typedef): t.Func<t.Struct<{
        file: t.Typedef;
        path: {
            readonly item?: number | undefined;
            readonly defaultItem?: string | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
    }>, {
        readonly name?: string | undefined;
        readonly runtimeConfig?: [string, string][] | undefined;
        policy: import("../policy.js").default[] | null;
        readonly _id: number;
        readonly repr: string | null;
        withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
        rename(name: string): any;
        asTypedef(): t.Typedef;
        optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
            readonly item?: number | undefined;
            readonly defaultItem?: string | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
        withInjection(injection: string): any;
        set(value: unknown): any;
        inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromRandom(): any;
    }, S3UploadMat>;
    uploadAll(bucket: string, overrideFileType?: t.Typedef): t.Func<t.Struct<{
        prefix: {
            readonly item?: number | undefined;
            readonly defaultItem?: string | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
        files: {
            readonly min?: number | undefined;
            readonly max?: number | undefined;
            readonly items?: number | undefined;
            readonly uniqueItems?: boolean | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
                readonly item?: number | undefined;
                readonly defaultItem?: string | undefined;
                readonly name?: string | undefined;
                readonly runtimeConfig?: [string, string][] | undefined;
                policy: import("../policy.js").default[] | null;
                readonly _id: number;
                readonly repr: string | null;
                withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
                rename(name: string): any;
                asTypedef(): t.Typedef;
                optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
                withInjection(injection: string): any;
                set(value: unknown): any;
                inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
                fromRandom(): any;
            };
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
    }>, {
        readonly name?: string | undefined;
        readonly runtimeConfig?: [string, string][] | undefined;
        policy: import("../policy.js").default[] | null;
        readonly _id: number;
        readonly repr: string | null;
        withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
        rename(name: string): any;
        asTypedef(): t.Typedef;
        optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): {
            readonly item?: number | undefined;
            readonly defaultItem?: string | undefined;
            readonly name?: string | undefined;
            readonly runtimeConfig?: [string, string][] | undefined;
            policy: import("../policy.js").default[] | null;
            readonly _id: number;
            readonly repr: string | null;
            withPolicy(policy: t.PolicySpec | t.PolicySpec[]): any;
            rename(name: string): any;
            asTypedef(): t.Typedef;
            optional(data?: t.Simplified<import("../gen/interfaces/metatype-typegraph-core.js").TypeOptional>): any;
            withInjection(injection: string): any;
            set(value: unknown): any;
            inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
            fromRandom(): any;
        };
        withInjection(injection: string): any;
        set(value: unknown): any;
        inject(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromContext(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromSecret(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromParent(value: import("../utils/type_utils.js").InjectionValue<string>): any;
        fromRandom(): any;
    }, S3UploadAllMat>;
}
export {};
