import * as pulumi from "@pulumi/pulumi";
/**
 * The `scaleway.functions.Function` data source is used to retrieve information about a Serverless Function.
 *
 * Refer to the Serverless Functions [product documentation](https://www.scaleway.com/en/docs/serverless/functions/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/) for more information.
 *
 * For more information on the limitations of Serverless Functions, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/compute/functions/reference-content/functions-limitations/).
 */
export declare function getFunction(args: GetFunctionArgs, opts?: pulumi.InvokeOptions): Promise<GetFunctionResult>;
/**
 * A collection of arguments for invoking getFunction.
 */
export interface GetFunctionArgs {
    /**
     * The unique identifier of the function. Only one of `name` and `functionId` should be specified.
     */
    functionId?: string;
    /**
     * The name of the function. Only one of `name` and `namespaceId` should be specified.
     */
    name?: string;
    /**
     * The namespace ID associated with this function.
     */
    namespaceId: string;
    /**
     * The unique identifier of the project with which the function is associated.
     */
    projectId?: string;
    /**
     * `region`) The region in which the container exists.
     */
    region?: string;
}
/**
 * A collection of values returned by getFunction.
 */
export interface GetFunctionResult {
    readonly cpuLimit: number;
    readonly deploy: boolean;
    readonly description: string;
    readonly domainName: string;
    readonly environmentVariables: {
        [key: string]: string;
    };
    readonly functionId?: string;
    readonly handler: string;
    readonly httpOption: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly maxScale: number;
    readonly memoryLimit: number;
    readonly minScale: number;
    readonly name?: string;
    readonly namespaceId: string;
    readonly organizationId: string;
    readonly privacy: string;
    readonly projectId?: string;
    readonly region?: string;
    readonly runtime: string;
    readonly sandbox: string;
    readonly secretEnvironmentVariables: {
        [key: string]: string;
    };
    readonly timeout: number;
    readonly zipFile: string;
    readonly zipHash: string;
}
/**
 * The `scaleway.functions.Function` data source is used to retrieve information about a Serverless Function.
 *
 * Refer to the Serverless Functions [product documentation](https://www.scaleway.com/en/docs/serverless/functions/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/) for more information.
 *
 * For more information on the limitations of Serverless Functions, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/compute/functions/reference-content/functions-limitations/).
 */
export declare function getFunctionOutput(args: GetFunctionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFunctionResult>;
/**
 * A collection of arguments for invoking getFunction.
 */
export interface GetFunctionOutputArgs {
    /**
     * The unique identifier of the function. Only one of `name` and `functionId` should be specified.
     */
    functionId?: pulumi.Input<string>;
    /**
     * The name of the function. Only one of `name` and `namespaceId` should be specified.
     */
    name?: pulumi.Input<string>;
    /**
     * The namespace ID associated with this function.
     */
    namespaceId: pulumi.Input<string>;
    /**
     * The unique identifier of the project with which the function is associated.
     */
    projectId?: pulumi.Input<string>;
    /**
     * `region`) The region in which the container exists.
     */
    region?: pulumi.Input<string>;
}
