export type AuthObject = {
    accessToken: string;
    customerId: string;
    loginCustomerId?: string;
    developerToken: string;
};
export type SearchStreamResponse<T> = {
    results: T[];
    fieldMask: string;
    requestId: string;
    queryResourceConsumption: string;
};
export type ConversionActionResponse = {
    conversionAction: {
        resourceName: string;
        id: string;
    };
};
export type CustomVariableResults = {
    conversionCustomVariable: {
        resourceName: string;
        name: string;
    };
};
type UserIdentifier = {
    userIdentifierSource?: 'UNSPECIFIED' | 'UNKNOWN' | 'FIRST_PARTY' | 'THIRD_PARTY';
    hashedEmail?: string;
    hashedPhoneNumber?: string;
    mobileId?: string;
    thirdPartyUserId?: string;
    addressInfo?: {
        hashedFirstName?: string;
        hashedLastName?: string;
        city?: string;
        state?: string;
        countryCode?: string;
        postalCode?: string;
        hashedStreetAddress?: string;
    };
    orderId?: string;
    conversionAction?: string;
    adjustmentDateTime?: string;
    userAgent?: string;
};
export type ConversionAdjustmentData = {
    conversionAdjustments: {
        gclidDateTimePair?: {
            gclid?: string;
            conversionDateTime?: string;
        };
        adjustmentType: 'UNSPECIFIED' | 'UNKNOWN' | 'RETRACTION' | 'RESTATEMENT' | 'ENHANCEMENT';
        restatementValue?: {
            adjustedValue?: number;
            currencyCode?: string;
        };
        userIdentifiers?: UserIdentifier[];
    }[];
    partialFailure: boolean;
    validateOnly?: boolean;
    jobId?: number;
};
export type ConversionAdjustmentResponse = {
    partialFailureError?: Record<string, string>;
    results?: {
        gclidDateTimePair?: {
            gclid?: string;
            conversionDateTime?: string;
        };
        orderId?: string;
        adjustmentType?: 'UNSPECIFIED' | 'UNKNOWN' | 'RETRACTION' | 'RESTATEMENT' | 'ENHANCEMENT';
        conversionAction?: string;
        adjustmentDateTime?: string;
    }[];
    jobId?: string;
};
type Consent = {
    adUserData: 'UNSPECIFIED' | 'UNKNOWN' | 'GRANTED' | 'DENIED';
    adPersonalization: 'UNSPECIFIED' | 'UNKNOWN' | 'GRANTED' | 'DENIED';
};
export type CreateOfflineUserDataJobData = {
    job: {
        resourceName?: string;
        type: 'UNSPECIFIED' | 'UNKNOWN' | 'STORE_SALES_UPLOAD_FIRST_PARTY' | 'STORE_SALES_UPLOAD_THIRD_PARTY' | 'CUSTOMER_MATCH_USER_LIST' | 'CUSTOMER_MATCH_WITH_ATTRIBUTES';
        customerMatchUserListMetadata?: {
            userList: string;
            consent?: Consent;
        };
        storeSalesMetadata?: {
            thirdPartyMetadata?: {
                advertiserUploadDateTime?: string;
                validTransactionFraction?: number;
                partnerMatchFraction?: number;
                partnerUploadFraction?: number;
                bridgeMapVersionId?: string;
                partnerId?: string;
            };
            loyaltyFraction?: number;
            transactionUploadFraction?: number;
            customKey?: string;
        };
    };
    validateOnly?: boolean;
    enableMatchRateRangePreview?: boolean;
};
export type CreateOfflineUserDataJobRespose = {
    resourceName: string;
};
export type RunOfflineUserDataJobResponse = {
    name?: string;
    done?: boolean;
};
type CustomVariable = {
    conversionCustomVariable?: string;
    value?: string;
};
export type ClickConversionData = {
    conversions: {
        gbraid?: string;
        wbraid?: string;
        externalAttributionData?: {
            externalAttributionCredit?: number;
            externalAttributionModel?: string;
        };
        customVariables?: CustomVariable[];
        cartData?: {
            merchantId?: string;
            feedCountryCode?: string;
            feedLanguageCode?: string;
            localTransactionCost?: number;
            items?: {
                productId?: string;
                quantity?: number;
                unitPrice?: number;
            }[];
        };
        userIdentifiers?: UserIdentifier[];
        conversionEnvironment?: 'UNSPECIFIED' | 'UNKNOWN' | 'APP' | 'WEB';
        consent?: Consent;
        gclid?: string;
        conversionAction?: string;
        conversionDateTime?: string;
        conversionValue?: number;
        currencyCode?: string;
        orderId?: string;
    }[];
    partialFailure?: boolean;
    validateOnly?: boolean;
    debugEnabled?: boolean;
    jobId?: number;
};
export type ClickConversionResponse = {
    partialFailureError?: Record<string, string>;
    results?: {
        gbraid?: string;
        wbraid?: string;
        userIdentifiers?: UserIdentifier[];
        gclid?: string;
        conversionAction?: string;
        conversionDateTime?: string;
    }[];
};
type CallConversion = {
    customVariables?: CustomVariable[];
    consent?: Consent;
    callerId?: string;
    callStartDateTime?: string;
    conversionAction?: string;
    conversionDateTime?: string;
    conversionValue?: number;
    currencyCode?: string;
};
export type CallConversionData = {
    conversions?: CallConversion[];
    partialFailure?: boolean;
    validateOnly?: boolean;
};
export type CallConversionResponse = {
    partialFailureError?: Record<string, string>;
    results?: {
        callerId?: string;
        callStartDateTime?: string;
        conversionAction?: string;
        conversionDateTime?: string;
    }[];
};
type UserData = {
    userIdentifiers?: UserIdentifier[];
    transactionAttribute?: {
        storeAttribute?: {
            storeCode?: string;
        };
        itemAttribute?: {
            itemId?: string;
            countryCode?: string;
            languageCode?: string;
            quantity?: string;
            merchantId?: string;
        };
        transactionDateTime?: string;
        transactionAmountMicros?: number;
        currencyCode?: string;
        conversionAction?: string;
        orderId?: string;
        customValue?: string;
    };
    userAttribute?: {
        lastPurchaseDateTime?: string;
        averagePurchaseCount?: number;
        averagePurchaseValueMicros?: string;
        acquisitionDateTime?: string;
        lifecycleStage?: string;
        firstPurchaseDateTime?: string;
        eventAttribute?: {
            event: string;
            eventDateTime: string;
            itemAttribute: {
                itemId: string;
            }[];
        }[];
        lifetimeValueMicros?: string;
        lifetimeValueBucket?: number;
        shoppingLoyalty?: {
            loyaltyTier: string;
        };
    };
    consent?: Consent;
};
export type OfflineUserDataJobAddData = {
    operations: {
        create?: UserData;
        remove?: UserData;
        removeAll?: boolean;
    }[];
    validateOnly?: boolean;
    enablePartialFailure?: boolean;
    enableWarnings?: boolean;
};
export type OfflineUserDataJobAddDataResponse = {
    partialFailureError?: Record<string, string | Array<Record<string, string>>>;
    warning?: Record<string, string | Array<Record<string, string>>>;
};
export {};
//# sourceMappingURL=types.d.ts.map