import * as Schema from "effect/Schema";
export declare const GetProductsInput: Schema.Struct<{
    readonly active: Schema.optional<Schema.Boolean>;
    readonly created: Schema.optional<Schema.String>;
    readonly ending_before: Schema.optional<Schema.String>;
    readonly expand: Schema.optional<Schema.String>;
    readonly ids: Schema.optional<Schema.String>;
    readonly limit: Schema.optional<Schema.Number>;
    readonly shippable: Schema.optional<Schema.Boolean>;
    readonly starting_after: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.Literals<readonly ["good", "service"]>>;
    readonly url: Schema.optional<Schema.String>;
}>;
export type GetProductsInput = typeof GetProductsInput.Type;
export declare const GetProductsOutput: Schema.Struct<{
    readonly data: Schema.$Array<Schema.Struct<{
        readonly active: Schema.Boolean;
        readonly created: Schema.Number;
        readonly default_price: Schema.optional<Schema.Unknown>;
        readonly description: Schema.NullOr<Schema.String>;
        readonly id: Schema.String;
        readonly images: Schema.$Array<Schema.String>;
        readonly livemode: Schema.Boolean;
        readonly marketing_features: Schema.$Array<Schema.Struct<{
            readonly name: Schema.optional<Schema.String>;
        }>>;
        readonly metadata: Schema.$Record<Schema.String, Schema.String>;
        readonly name: Schema.String;
        readonly object: Schema.Literals<readonly ["product"]>;
        readonly package_dimensions: Schema.Unknown;
        readonly shippable: Schema.NullOr<Schema.Boolean>;
        readonly statement_descriptor: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly tax_code: Schema.optional<Schema.Unknown>;
        readonly type: Schema.Literals<readonly ["good", "service"]>;
        readonly unit_label: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly updated: Schema.Number;
        readonly url: Schema.NullOr<Schema.String>;
    }>>;
    readonly has_more: Schema.Boolean;
    readonly object: Schema.Literals<readonly ["list"]>;
    readonly url: Schema.String;
}>;
export type GetProductsOutput = typeof GetProductsOutput.Type;
/**
 * List all products
 *
 * <p>Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.</p>
 *
 * @param active - Only return products that are active or inactive (e.g., pass `false` to list all inactive products).
 * @param created - Only return products that were created during the given date interval.
 * @param ending_before - A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
 * @param expand - Specifies which fields in the response should be expanded.
 * @param ids - Only return products with the given IDs. Cannot be used with [starting_after](https://api.stripe.com#list_products-starting_after) or [ending_before](https://api.stripe.com#list_products-ending_before).
 * @param limit - A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
 * @param shippable - Only return products that can be shipped (i.e., physical, not digital products).
 * @param starting_after - A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
 * @param type - Only return products of this type.
 * @param url - Only return products with the given url.
 */
export declare const GetProducts: import("@distilled.cloud/core/client").OperationMethod<{
    readonly active?: boolean | undefined;
    readonly created?: string | undefined;
    readonly ending_before?: string | undefined;
    readonly expand?: string | undefined;
    readonly ids?: string | undefined;
    readonly limit?: number | undefined;
    readonly shippable?: boolean | undefined;
    readonly starting_after?: string | undefined;
    readonly type?: "good" | "service" | undefined;
    readonly url?: string | undefined;
}, {
    readonly data: readonly {
        readonly active: boolean;
        readonly created: number;
        readonly default_price?: unknown;
        readonly description: string | null;
        readonly id: string;
        readonly images: readonly string[];
        readonly livemode: boolean;
        readonly marketing_features: readonly {
            readonly name?: string | undefined;
        }[];
        readonly metadata: {
            readonly [x: string]: string;
        };
        readonly name: string;
        readonly object: "product";
        readonly package_dimensions: unknown;
        readonly shippable: boolean | null;
        readonly statement_descriptor?: string | null | undefined;
        readonly tax_code?: unknown;
        readonly type: "good" | "service";
        readonly unit_label?: string | null | undefined;
        readonly updated: number;
        readonly url: string | null;
    }[];
    readonly has_more: boolean;
    readonly object: "list";
    readonly url: string;
}, never, any>;
//# sourceMappingURL=GetProducts.d.ts.map