import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as meraki from "@pulumi/meraki";
 *
 * const example = meraki.organizations.getFirmwareUpgrades({
 *     endingBefore: "string",
 *     organizationId: "string",
 *     perPage: 1,
 *     productTypes: ["string"],
 *     startingAfter: "string",
 *     statuses: ["string"],
 * });
 * export const merakiOrganizationsFirmwareUpgradesExample = example.then(example => example.items);
 * ```
 */
export declare function getFirmwareUpgrades(args: GetFirmwareUpgradesArgs, opts?: pulumi.InvokeOptions): Promise<GetFirmwareUpgradesResult>;
/**
 * A collection of arguments for invoking getFirmwareUpgrades.
 */
export interface GetFirmwareUpgradesArgs {
    /**
     * endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    endingBefore?: string;
    /**
     * organizationId path parameter. Organization ID
     */
    organizationId: string;
    /**
     * perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
     */
    perPage?: number;
    /**
     * productTypes query parameter. Optional parameter to filter the upgrade by product type.
     */
    productTypes?: string[];
    /**
     * startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    startingAfter?: string;
    /**
     * status query parameter. Optional parameter to filter the upgrade by status.
     */
    statuses?: string[];
}
/**
 * A collection of values returned by getFirmwareUpgrades.
 */
export interface GetFirmwareUpgradesResult {
    /**
     * endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    readonly endingBefore?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Array of ResponseOrganizationsGetOrganizationFirmwareUpgrades
     */
    readonly items: outputs.organizations.GetFirmwareUpgradesItem[];
    /**
     * organizationId path parameter. Organization ID
     */
    readonly organizationId: string;
    /**
     * perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
     */
    readonly perPage?: number;
    /**
     * productTypes query parameter. Optional parameter to filter the upgrade by product type.
     */
    readonly productTypes?: string[];
    /**
     * startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    readonly startingAfter?: string;
    /**
     * status query parameter. Optional parameter to filter the upgrade by status.
     */
    readonly statuses?: string[];
}
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as meraki from "@pulumi/meraki";
 *
 * const example = meraki.organizations.getFirmwareUpgrades({
 *     endingBefore: "string",
 *     organizationId: "string",
 *     perPage: 1,
 *     productTypes: ["string"],
 *     startingAfter: "string",
 *     statuses: ["string"],
 * });
 * export const merakiOrganizationsFirmwareUpgradesExample = example.then(example => example.items);
 * ```
 */
export declare function getFirmwareUpgradesOutput(args: GetFirmwareUpgradesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFirmwareUpgradesResult>;
/**
 * A collection of arguments for invoking getFirmwareUpgrades.
 */
export interface GetFirmwareUpgradesOutputArgs {
    /**
     * endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    endingBefore?: pulumi.Input<string | undefined>;
    /**
     * organizationId path parameter. Organization ID
     */
    organizationId: pulumi.Input<string>;
    /**
     * perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
     */
    perPage?: pulumi.Input<number | undefined>;
    /**
     * productTypes query parameter. Optional parameter to filter the upgrade by product type.
     */
    productTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    startingAfter?: pulumi.Input<string | undefined>;
    /**
     * status query parameter. Optional parameter to filter the upgrade by status.
     */
    statuses?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=getFirmwareUpgrades.d.ts.map