import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * Provides information about Linode Object Storage endpoints available to the user.
 * For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-object-storage-endpoints).
 *
 * ## Example Usage
 *
 * Get an endpoint of E3 type (highest performance and capacity) of Linode Object Storage services:
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as linode from "@pulumi/linode";
 *
 * export = async () => {
 *     const test = await linode.getObjectStorageEndpoints({
 *         filters: [{
 *             name: "endpoint_type",
 *             values: ["E3"],
 *         }],
 *     });
 *     return {
 *         "high-performance-obj-endpoint": test.endpoints?.[0]?.s3Endpoint,
 *     };
 * }
 * ```
 *
 * Get a list of all available endpoints of Linode Object Storage services.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as linode from "@pulumi/linode";
 *
 * export = async () => {
 *     const test = await linode.getObjectStorageEndpoints({});
 *     return {
 *         "available-endpoints": test.endpoints,
 *     };
 * }
 * ```
 *
 * ## Filterable Fields
 *
 * * `endpointType`
 *
 * * `region`
 *
 * * `s3Endpoint`
 */
export declare function getObjectStorageEndpoints(args?: GetObjectStorageEndpointsArgs, opts?: pulumi.InvokeOptions): Promise<GetObjectStorageEndpointsResult>;
/**
 * A collection of arguments for invoking getObjectStorageEndpoints.
 */
export interface GetObjectStorageEndpointsArgs {
    endpoints?: inputs.GetObjectStorageEndpointsEndpoint[];
    filters?: inputs.GetObjectStorageEndpointsFilter[];
    /**
     * The order in which results should be returned. (`asc`, `desc`; default `asc`)
     */
    order?: string;
    /**
     * The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
     */
    orderBy?: string;
}
/**
 * A collection of values returned by getObjectStorageEndpoints.
 */
export interface GetObjectStorageEndpointsResult {
    readonly endpoints?: outputs.GetObjectStorageEndpointsEndpoint[];
    readonly filters?: outputs.GetObjectStorageEndpointsFilter[];
    readonly id: string;
    readonly order?: string;
    readonly orderBy?: string;
}
/**
 * Provides information about Linode Object Storage endpoints available to the user.
 * For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-object-storage-endpoints).
 *
 * ## Example Usage
 *
 * Get an endpoint of E3 type (highest performance and capacity) of Linode Object Storage services:
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as linode from "@pulumi/linode";
 *
 * export = async () => {
 *     const test = await linode.getObjectStorageEndpoints({
 *         filters: [{
 *             name: "endpoint_type",
 *             values: ["E3"],
 *         }],
 *     });
 *     return {
 *         "high-performance-obj-endpoint": test.endpoints?.[0]?.s3Endpoint,
 *     };
 * }
 * ```
 *
 * Get a list of all available endpoints of Linode Object Storage services.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as linode from "@pulumi/linode";
 *
 * export = async () => {
 *     const test = await linode.getObjectStorageEndpoints({});
 *     return {
 *         "available-endpoints": test.endpoints,
 *     };
 * }
 * ```
 *
 * ## Filterable Fields
 *
 * * `endpointType`
 *
 * * `region`
 *
 * * `s3Endpoint`
 */
export declare function getObjectStorageEndpointsOutput(args?: GetObjectStorageEndpointsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetObjectStorageEndpointsResult>;
/**
 * A collection of arguments for invoking getObjectStorageEndpoints.
 */
export interface GetObjectStorageEndpointsOutputArgs {
    endpoints?: pulumi.Input<pulumi.Input<inputs.GetObjectStorageEndpointsEndpointArgs>[]>;
    filters?: pulumi.Input<pulumi.Input<inputs.GetObjectStorageEndpointsFilterArgs>[]>;
    /**
     * The order in which results should be returned. (`asc`, `desc`; default `asc`)
     */
    order?: pulumi.Input<string>;
    /**
     * The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
     */
    orderBy?: pulumi.Input<string>;
}
