import { Ref, RefByPrimary, RefByUnique } from 'domain-objects';
import { HasMetadata, PickOne } from 'type-fns';
import { VisualogicContext } from 'visualogic';
import { StripeApiContext } from '../../domain/constants';
import { DeclaredStripeProduct } from '../../domain/objects/DeclaredStripeProduct';
/**
 * .what = gets a product from stripe
 */
export declare const getProduct: (input: {
    by: PickOne<{
        primary: RefByPrimary<typeof DeclaredStripeProduct>;
        unique: RefByUnique<typeof DeclaredStripeProduct>;
        ref: Ref<typeof DeclaredStripeProduct>;
    }>;
}, context: StripeApiContext & VisualogicContext) => Promise<HasMetadata<DeclaredStripeProduct> | null>;
