import * as pulumi from "@pulumi/pulumi";
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as netbox from "@pulumi/netbox";
 *
 * const asn1 = netbox.ipam.getAsn({
 *     asn: "1111",
 *     tag: "tag-1",
 * });
 * const asn2 = netbox.ipam.getAsn({
 *     tag: "tag-1",
 *     tagN: "tag-2",
 * });
 * ```
 */
export declare function getAsn(args?: GetAsnArgs, opts?: pulumi.InvokeOptions): Promise<GetAsnResult>;
/**
 * A collection of arguments for invoking getAsn.
 */
export interface GetAsnArgs {
    /**
     * At least one of `asn` or `tag` must be given.
     */
    asn?: string;
    /**
     * Tag to include in the data source filter (must match the tag's slug). At least one of `asn` or `tag` must be given.
     */
    tag?: string;
    /**
     * Tag to exclude from the data source filter (must match the tag's slug).
     * Refer to [Netbox's documentation](https://demo.netbox.dev/static/docs/rest-api/filtering/#lookup-expressions)
     * for more information on available lookup expressions.
     */
    tagN?: string;
}
/**
 * A collection of values returned by getAsn.
 */
export interface GetAsnResult {
    /**
     * At least one of `asn` or `tag` must be given.
     */
    readonly asn?: string;
    readonly description: string;
    /**
     * The ID of this resource.
     */
    readonly id: number;
    /**
     * Tag to include in the data source filter (must match the tag's slug). At least one of `asn` or `tag` must be given.
     */
    readonly tag?: string;
    /**
     * Tag to exclude from the data source filter (must match the tag's slug).
     * Refer to [Netbox's documentation](https://demo.netbox.dev/static/docs/rest-api/filtering/#lookup-expressions)
     * for more information on available lookup expressions.
     */
    readonly tagN?: string;
    readonly tags: string[];
}
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as netbox from "@pulumi/netbox";
 *
 * const asn1 = netbox.ipam.getAsn({
 *     asn: "1111",
 *     tag: "tag-1",
 * });
 * const asn2 = netbox.ipam.getAsn({
 *     tag: "tag-1",
 *     tagN: "tag-2",
 * });
 * ```
 */
export declare function getAsnOutput(args?: GetAsnOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAsnResult>;
/**
 * A collection of arguments for invoking getAsn.
 */
export interface GetAsnOutputArgs {
    /**
     * At least one of `asn` or `tag` must be given.
     */
    asn?: pulumi.Input<string>;
    /**
     * Tag to include in the data source filter (must match the tag's slug). At least one of `asn` or `tag` must be given.
     */
    tag?: pulumi.Input<string>;
    /**
     * Tag to exclude from the data source filter (must match the tag's slug).
     * Refer to [Netbox's documentation](https://demo.netbox.dev/static/docs/rest-api/filtering/#lookup-expressions)
     * for more information on available lookup expressions.
     */
    tagN?: pulumi.Input<string>;
}
