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