import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Fabric V4 API compatible data resource that allow user to fetch Equinix Fabric Route Aggregation Rules with pagination details
 * Additional Documentation:
 * * API: https://developer.equinix.com/catalog/fabricv4#tag/Route-Aggregations
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const raRules = equinix.fabric.getRouteAggregationRules({
 *     routeAggregationId: "<route_aggregation_id>",
 *     pagination: {
 *         limit: 2,
 *         offset: 1,
 *     },
 * });
 * export const routeAggregationRuleName = raRules.then(raRules => raRules.datas?.[0]?.name);
 * export const routeAggregationRuleDescription = raRules.then(raRules => raRules.datas?.[0]?.description);
 * export const routeAggregationRulePrefix = raRules.then(raRules => raRules.datas?.[0]?.prefix);
 * export const routeAggregationRuleState = raRules.then(raRules => raRules.datas?.[0]?.state);
 * ```
 */
export declare function getRouteAggregationRules(args: GetRouteAggregationRulesArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteAggregationRulesResult>;
/**
 * A collection of arguments for invoking getRouteAggregationRules.
 */
export interface GetRouteAggregationRulesArgs {
    /**
     * Pagination details for the returned route aggregation rules list
     */
    pagination?: inputs.fabric.GetRouteAggregationRulesPagination;
    /**
     * The uuid of the route aggregation rule this data source should retrieve
     */
    routeAggregationId: string;
}
/**
 * A collection of values returned by getRouteAggregationRules.
 */
export interface GetRouteAggregationRulesResult {
    /**
     * Returned list of route aggregation rule objects
     */
    readonly datas: outputs.fabric.GetRouteAggregationRulesData[];
    /**
     * The unique identifier of the resource
     */
    readonly id: string;
    /**
     * Pagination details for the returned route aggregation rules list
     */
    readonly pagination?: outputs.fabric.GetRouteAggregationRulesPagination;
    /**
     * The uuid of the route aggregation rule this data source should retrieve
     */
    readonly routeAggregationId: string;
}
/**
 * Fabric V4 API compatible data resource that allow user to fetch Equinix Fabric Route Aggregation Rules with pagination details
 * Additional Documentation:
 * * API: https://developer.equinix.com/catalog/fabricv4#tag/Route-Aggregations
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const raRules = equinix.fabric.getRouteAggregationRules({
 *     routeAggregationId: "<route_aggregation_id>",
 *     pagination: {
 *         limit: 2,
 *         offset: 1,
 *     },
 * });
 * export const routeAggregationRuleName = raRules.then(raRules => raRules.datas?.[0]?.name);
 * export const routeAggregationRuleDescription = raRules.then(raRules => raRules.datas?.[0]?.description);
 * export const routeAggregationRulePrefix = raRules.then(raRules => raRules.datas?.[0]?.prefix);
 * export const routeAggregationRuleState = raRules.then(raRules => raRules.datas?.[0]?.state);
 * ```
 */
export declare function getRouteAggregationRulesOutput(args: GetRouteAggregationRulesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRouteAggregationRulesResult>;
/**
 * A collection of arguments for invoking getRouteAggregationRules.
 */
export interface GetRouteAggregationRulesOutputArgs {
    /**
     * Pagination details for the returned route aggregation rules list
     */
    pagination?: pulumi.Input<inputs.fabric.GetRouteAggregationRulesPaginationArgs>;
    /**
     * The uuid of the route aggregation rule this data source should retrieve
     */
    routeAggregationId: pulumi.Input<string>;
}
