import { RequestClient } from '@segment/actions-core';
import { DynamicFieldResponse } from '@segment/actions-core';
import { Payload } from '../generated-types';
import { DynamicFieldContext } from '@segment/actions-core/destination-kittypes';
export declare const dynamicFields: {
    object_details: {
        object_type: (request: RequestClient) => Promise<DynamicFieldResponse>;
        id_field_name: (request: RequestClient, { payload }: {
            payload: Payload;
        }) => Promise<DynamicFieldResponse>;
        property_group: (request: RequestClient, { payload }: {
            payload: Payload;
        }) => Promise<DynamicFieldResponse>;
    };
    properties: {
        __keys__: (request: RequestClient, { payload }: {
            payload: Payload;
        }) => Promise<DynamicFieldResponse>;
    };
    sensitive_properties: {
        __keys__: (request: RequestClient, { payload }: {
            payload: Payload;
        }) => Promise<DynamicFieldResponse>;
    };
    associations: {
        object_type: (request: RequestClient) => Promise<DynamicFieldResponse>;
        association_label: (request: RequestClient, { dynamicFieldContext, payload }: {
            dynamicFieldContext?: DynamicFieldContext;
            payload: Payload;
        }) => Promise<DynamicFieldResponse>;
        id_field_name: (request: RequestClient, { dynamicFieldContext, payload }: {
            dynamicFieldContext?: DynamicFieldContext;
            payload: Payload;
        }) => Promise<DynamicFieldResponse>;
    };
    dissociations: {
        object_type: (request: RequestClient) => Promise<DynamicFieldResponse>;
        association_label: (request: RequestClient, { dynamicFieldContext, payload }: {
            dynamicFieldContext?: DynamicFieldContext;
            payload: Payload;
        }) => Promise<DynamicFieldResponse>;
        id_field_name: (request: RequestClient, { dynamicFieldContext, payload }: {
            dynamicFieldContext?: DynamicFieldContext;
            payload: Payload;
        }) => Promise<DynamicFieldResponse>;
    };
    list_details: {
        list_name: (request: RequestClient, { payload }: {
            dynamicFieldContext?: DynamicFieldContext;
            payload: Payload;
        }) => Promise<{
            choices: never[];
            error: {
                message: string;
                code: string;
            };
        } | {
            choices: {
                label: string;
                value: string;
            }[];
            error?: undefined;
        }>;
    };
};
