import { Ref } from 'vue'; import { AddressType, Gender, YesNo, GraphQLClient, Address } from '@propeller-commerce/propeller-sdk-v2'; import { AnyUser } from '@propeller-commerce/propeller-v2-core-ui'; export interface AddressInput { type?: AddressType; firstName?: string; lastName?: string; middleName?: string; company?: string; street: string; number?: string; numberExtension?: string; postalCode: string; city: string; country: string; email?: string; phone?: string; mobile?: string; gender?: Gender; isDefault?: YesNo; notes?: string; } export interface UseAddressOptions { graphqlClient: GraphQLClient; user: Ref; companyId?: Ref; } export interface UseAddressReturn { loading: Ref; error: Ref; createAddress: (input: AddressInput) => Promise<{ success: boolean; address?: Address; error?: string; }>; updateAddress: (addressId: number, input: Partial) => Promise<{ success: boolean; address?: Address; error?: string; }>; deleteAddress: (addressId: number) => Promise<{ success: boolean; error?: string; }>; setDefaultAddress: (addressId: number) => Promise<{ success: boolean; error?: string; }>; } export declare function useAddress(options: UseAddressOptions): UseAddressReturn;