## API Report File for "amplify-headless-interface"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

// @public (undocumented)
export enum AccessType {
    // (undocumented)
    AuthorizedAndGuestUsers = "AuthorizedAndGuestUsers",
    // (undocumented)
    AuthorizedUsers = "AuthorizedUsers"
}

// @public (undocumented)
export interface AddApiRequest {
    // (undocumented)
    serviceConfiguration: AppSyncServiceConfiguration;
    // (undocumented)
    version: 1;
}

// @public (undocumented)
export interface AddAuthRequest {
    // (undocumented)
    resourceName: string;
    // (undocumented)
    serviceConfiguration: CognitoServiceConfiguration;
    // (undocumented)
    version: 2;
}

// @public (undocumented)
export interface AddGeoRequest {
    // (undocumented)
    serviceConfiguration: GeoServiceConfiguration;
    // (undocumented)
    version: 1;
}

// @public (undocumented)
export interface AddS3ServiceConfiguration extends S3ServiceConfigurationBase {
    // (undocumented)
    bucketName?: string;
    // (undocumented)
    lambdaTrigger?: LambdaTriggerConfig;
    // (undocumented)
    permissions: S3Permissions;
    // (undocumented)
    resourceName?: string;
}

// @public (undocumented)
export interface AddStorageRequest {
    // (undocumented)
    serviceConfiguration: AddS3ServiceConfiguration;
    // (undocumented)
    version: 1;
}

// @public (undocumented)
export interface AppSyncAPIKeyAuthType {
    // (undocumented)
    apiKeyExpirationDate?: Date;
    // (undocumented)
    expirationTime?: number;
    // (undocumented)
    keyDescription?: string;
    // (undocumented)
    mode: 'API_KEY';
}

// @public (undocumented)
export interface AppSyncAPIKeyExpiration {
    // (undocumented)
    days: number;
}

// @public (undocumented)
export type AppSyncAuthType = AppSyncAPIKeyAuthType | AppSyncAWSIAMAuthType | AppSyncCognitoUserPoolsAuthType | AppSyncOpenIDConnectAuthType | AppSyncLambdaAuthType;

// @public (undocumented)
export interface AppSyncAWSIAMAuthType {
    // (undocumented)
    mode: 'AWS_IAM';
}

// @public (undocumented)
export interface AppSyncCognitoUserPoolsAuthType {
    // (undocumented)
    cognitoUserPoolId?: string;
    // (undocumented)
    mode: 'AMAZON_COGNITO_USER_POOLS';
}

// @public (undocumented)
export interface AppSyncLambdaAuthType {
    // (undocumented)
    lambdaFunction: string;
    // (undocumented)
    mode: 'AWS_LAMBDA';
    // (undocumented)
    ttlSeconds?: string;
}

// @public (undocumented)
export interface AppSyncOpenIDConnectAuthType {
    // (undocumented)
    mode: 'OPENID_CONNECT';
    // (undocumented)
    openIDAuthTTL?: string;
    // (undocumented)
    openIDClientID: string;
    // (undocumented)
    openIDIatTTL?: string;
    // (undocumented)
    openIDIssuerURL: string;
    // (undocumented)
    openIDProviderName: string;
}

// @public (undocumented)
export interface AppSyncServiceConfiguration {
    // (undocumented)
    additionalAuthTypes?: AppSyncAuthType[];
    // (undocumented)
    apiKeyExpiration?: AppSyncAPIKeyExpiration;
    // (undocumented)
    apiName: string;
    // (undocumented)
    conflictResolution?: ConflictResolution;
    // (undocumented)
    defaultAuthType: AppSyncAuthType;
    // (undocumented)
    serviceName: 'AppSync';
    // (undocumented)
    transformSchema: string;
}

// @public (undocumented)
export type AppSyncServiceModification = Pick<AppSyncServiceConfiguration, 'serviceName'> & Partial<Pick<AppSyncServiceConfiguration, 'transformSchema' | 'defaultAuthType' | 'additionalAuthTypes' | 'conflictResolution' | 'apiKeyExpiration'>>;

// @public (undocumented)
export interface BaseCognitoServiceConfiguration {
    // (undocumented)
    serviceName: 'Cognito';
    // (undocumented)
    userPoolConfiguration: CognitoUserPoolConfiguration;
}

// @public (undocumented)
export interface BaseCognitoServiceModification {
    // (undocumented)
    serviceName: 'Cognito';
    // (undocumented)
    userPoolModification: CognitoUserPoolModification;
}

// @public (undocumented)
export interface BaseGeoServiceConfiguration {
    // (undocumented)
    accessType: AccessType;
    // (undocumented)
    name: string;
    // (undocumented)
    serviceName: string;
    // (undocumented)
    setAsDefault: boolean;
}

// @public (undocumented)
export interface BaseGeoServiceModification {
    // (undocumented)
    accessType: AccessType;
    // (undocumented)
    name: string;
    // (undocumented)
    serviceName: string;
    // (undocumented)
    setAsDefault: boolean;
}

// @public (undocumented)
export interface CognitoAdminQueries {
    // (undocumented)
    permissions: {
        restrictAccess: boolean;
        groupName?: string;
    };
}

// @public (undocumented)
export type CognitoAutoVerifiedAttributesConfiguration = Array<CognitoAutoVerifyEmailConfiguration | CognitoAutoVerifyPhoneNumberConfiguration>;

// @public (undocumented)
export interface CognitoAutoVerifyEmailConfiguration {
    // (undocumented)
    type: 'EMAIL';
    // (undocumented)
    verificationMessage?: string;
    // (undocumented)
    verificationSubject?: string;
}

// @public (undocumented)
export interface CognitoAutoVerifyPhoneNumberConfiguration {
    // (undocumented)
    type: 'PHONE_NUMBER';
    // (undocumented)
    verificationMessage?: string;
}

// @public (undocumented)
export interface CognitoIdentityPool {
    // (undocumented)
    identityPoolConfiguration?: CognitoIdentityPoolConfiguration;
    // (undocumented)
    includeIdentityPool: true;
}

// @public (undocumented)
export interface CognitoIdentityPoolConfiguration {
    // (undocumented)
    identityPoolName?: string;
    // (undocumented)
    identitySocialFederation?: CognitoIdentitySocialFederation[];
    // (undocumented)
    unauthenticatedLogin?: boolean;
}

// @public (undocumented)
export type CognitoIdentityPoolModification = Pick<CognitoIdentityPoolConfiguration, 'unauthenticatedLogin' | 'identitySocialFederation'>;

// @public (undocumented)
export interface CognitoIdentitySocialFederation {
    // (undocumented)
    clientId: string;
    // (undocumented)
    provider: 'FACEBOOK' | 'GOOGLE' | 'AMAZON' | 'APPLE';
}

// @public (undocumented)
export type CognitoMFAConfiguration = CognitoMFAOff | CognitoMFASettings;

// @public (undocumented)
export interface CognitoMFAOff {
    // (undocumented)
    mode: 'OFF';
}

// @public (undocumented)
export interface CognitoMFASettings {
    // (undocumented)
    mfaTypes: ('SMS' | 'TOTP')[];
    // (undocumented)
    mode: 'ON' | 'OPTIONAL';
    // (undocumented)
    smsMessage: string;
}

// @public (undocumented)
export interface CognitoOAuthConfiguration {
    // (undocumented)
    domainPrefix?: string;
    // (undocumented)
    oAuthGrantType: 'CODE' | 'IMPLICIT';
    // (undocumented)
    oAuthScopes: ('PHONE' | 'EMAIL' | 'OPENID' | 'PROFILE' | 'AWS.COGNITO.SIGNIN.USER.ADMIN')[];
    // (undocumented)
    redirectSigninURIs: string[];
    // (undocumented)
    redirectSignoutURIs: string[];
    // (undocumented)
    socialProviderConfigurations?: CognitoSocialProviderConfiguration[];
}

// @public (undocumented)
export enum CognitoPasswordConstraint {
    // (undocumented)
    REQUIRE_DIGIT = "REQUIRE_DIGIT",
    // (undocumented)
    REQUIRE_LOWERCASE = "REQUIRE_LOWERCASE",
    // (undocumented)
    REQUIRE_SYMBOL = "REQUIRE_SYMBOL",
    // (undocumented)
    REQUIRE_UPPERCASE = "REQUIRE_UPPERCASE"
}

// @public (undocumented)
export interface CognitoPasswordPolicy {
    // (undocumented)
    additionalConstraints?: CognitoPasswordConstraint[];
    // (undocumented)
    minimumLength?: number;
}

// @public (undocumented)
export type CognitoServiceConfiguration = BaseCognitoServiceConfiguration & (NoCognitoIdentityPool | CognitoIdentityPool);

// @public (undocumented)
export type CognitoServiceModification = BaseCognitoServiceModification & (NoCognitoIdentityPool | ModifyCognitoIdentityPool);

// Warning: (ae-forgotten-export) The symbol "SocialProviderConfig" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "SignInWithAppleSocialProviderConfig" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export type CognitoSocialProviderConfiguration = SocialProviderConfig | SignInWithAppleSocialProviderConfig;

// @public (undocumented)
export enum CognitoUserAliasAttributes {
    // (undocumented)
    EMAIL = "EMAIL",
    // (undocumented)
    PHONE_NUMBER = "PHONE_NUMBER",
    // (undocumented)
    PREFERRED_USERNAME = "PREFERRED_USERNAME"
}

// @public (undocumented)
export interface CognitoUserPoolConfiguration {
    // (undocumented)
    adminQueries?: CognitoAdminQueries;
    // (undocumented)
    aliasAttributes?: CognitoUserAliasAttributes[];
    // (undocumented)
    autoVerifiedAttributes?: CognitoAutoVerifiedAttributesConfiguration;
    // (undocumented)
    mfa?: CognitoMFAConfiguration;
    // (undocumented)
    oAuth?: CognitoOAuthConfiguration;
    // (undocumented)
    passwordPolicy?: CognitoPasswordPolicy;
    // (undocumented)
    readAttributes?: (CognitoUserProperty | CognitoUserPropertyVerified)[];
    // (undocumented)
    refreshTokenPeriod?: number;
    // (undocumented)
    requiredSignupAttributes: CognitoUserProperty[];
    // (undocumented)
    signinMethod: CognitoUserPoolSigninMethod;
    // (undocumented)
    userPoolGroups?: CognitoUserPoolGroup[];
    // (undocumented)
    userPoolName?: string;
    // (undocumented)
    writeAttributes?: CognitoUserProperty[];
}

// @public (undocumented)
export interface CognitoUserPoolGroup {
    // (undocumented)
    customPolicy?: string;
    // (undocumented)
    groupName: string;
}

// @public (undocumented)
export type CognitoUserPoolModification = Pick<CognitoUserPoolConfiguration, 'userPoolGroups' | 'adminQueries' | 'mfa' | 'passwordPolicy' | 'refreshTokenPeriod' | 'readAttributes' | 'writeAttributes' | 'autoVerifiedAttributes'> & {
    oAuth?: Partial<CognitoOAuthConfiguration>;
};

// @public (undocumented)
export enum CognitoUserPoolSigninMethod {
    // (undocumented)
    EMAIL = "EMAIL",
    // (undocumented)
    EMAIL_AND_PHONE_NUMBER = "EMAIL_AND_PHONE_NUMBER",
    // (undocumented)
    PHONE_NUMBER = "PHONE_NUMBER",
    // (undocumented)
    USERNAME = "USERNAME"
}

// @public (undocumented)
export enum CognitoUserProperty {
    // (undocumented)
    ADDRESS = "ADDRESS",
    // (undocumented)
    BIRTHDATE = "BIRTHDATE",
    // (undocumented)
    EMAIL = "EMAIL",
    // (undocumented)
    FAMILY_NAME = "FAMILY_NAME",
    // (undocumented)
    GENDER = "GENDER",
    // (undocumented)
    GIVEN_NAME = "GIVEN_NAME",
    // (undocumented)
    LOCALE = "LOCALE",
    // (undocumented)
    MIDDLE_NAME = "MIDDLE_NAME",
    // (undocumented)
    NAME = "NAME",
    // (undocumented)
    NICKNAME = "NICKNAME",
    // (undocumented)
    PHONE_NUMBER = "PHONE_NUMBER",
    // (undocumented)
    PICTURE = "PICTURE",
    // (undocumented)
    PREFERRED_USERNAME = "PREFERRED_USERNAME",
    // (undocumented)
    PROFILE = "PROFILE",
    // (undocumented)
    UPDATED_AT = "UPDATED_AT",
    // (undocumented)
    WEBSITE = "WEBSITE",
    // (undocumented)
    ZONE_INFO = "ZONE_INFO"
}

// @public (undocumented)
export enum CognitoUserPropertyVerified {
    // (undocumented)
    EMAIL_VERIFIED = "EMAIL_VERIFIED",
    // (undocumented)
    PHONE_NUMBER_VERIFIED = "PHONE_NUMBER_VERIFIED"
}

// @public (undocumented)
export interface ConflictResolution {
    // (undocumented)
    defaultResolutionStrategy?: ResolutionStrategy;
    // (undocumented)
    perModelResolutionStrategy?: PerModelResolutionstrategy[];
}

// @public (undocumented)
export enum CrudOperation {
    // (undocumented)
    CREATE_AND_UPDATE = "CREATE_AND_UPDATE",
    // (undocumented)
    DELETE = "DELETE",
    // (undocumented)
    READ = "READ"
}

// @public (undocumented)
export interface ExistingLambdaConflictResolver {
    // (undocumented)
    arn?: string;
    // (undocumented)
    name: string;
    // (undocumented)
    region?: string;
    // (undocumented)
    type: 'EXISTING';
}

// @public (undocumented)
export type GeoServiceConfiguration = BaseGeoServiceConfiguration & MapConfiguration;

// @public (undocumented)
export type GeoServiceModification = BaseGeoServiceModification & MapModification;

// @public (undocumented)
export interface ImportAuthRequest {
    // (undocumented)
    identityPoolId?: string;
    // (undocumented)
    nativeClientId: string;
    // (undocumented)
    userPoolId: string;
    // (undocumented)
    version: 1;
    // (undocumented)
    webClientId: string;
}

// @public (undocumented)
export interface ImportS3ServiceConfiguration extends S3ServiceConfigurationBase {
    // (undocumented)
    bucketName: string;
}

// @public (undocumented)
export interface ImportStorageRequest {
    // (undocumented)
    serviceConfiguration: ImportS3ServiceConfiguration;
    // (undocumented)
    version: 1;
}

// @public (undocumented)
export type LambdaConflictResolver = NewLambdaConflictResolver | ExistingLambdaConflictResolver;

// @public (undocumented)
export interface LambdaResolutionStrategy {
    // (undocumented)
    resolver: LambdaConflictResolver;
    // (undocumented)
    type: 'LAMBDA';
}

// @public (undocumented)
export interface LambdaTriggerConfig {
    // (undocumented)
    mode: 'new' | 'existing';
    // (undocumented)
    name: string;
}

// @public (undocumented)
export interface MapConfiguration {
    // (undocumented)
    mapStyle: MapStyle;
    // (undocumented)
    serviceName: 'Map';
}

// @public (undocumented)
export interface MapModification {
    // (undocumented)
    serviceName: 'Map';
}

// @public (undocumented)
export enum MapStyle {
    // (undocumented)
    HybridHereExploreSatellite = "HybridHereExploreSatellite",
    // (undocumented)
    RasterEsriImagery = "RasterEsriImagery",
    // (undocumented)
    RasterHereExploreSatellite = "RasterHereExploreSatellite",
    // (undocumented)
    VectorEsriDarkGrayCanvas = "VectorEsriDarkGrayCanvas",
    // (undocumented)
    VectorEsriLightGrayCanvas = "VectorEsriLightGrayCanvas",
    // (undocumented)
    VectorEsriNavigation = "VectorEsriNavigation",
    // (undocumented)
    VectorEsriStreets = "VectorEsriStreets",
    // (undocumented)
    VectorEsriTopographic = "VectorEsriTopographic",
    // (undocumented)
    VectorHereBerlin = "VectorHereBerlin",
    // (undocumented)
    VectorHereExplore = "VectorHereExplore",
    // (undocumented)
    VectorHereExploreTruck = "VectorHereExploreTruck",
    // (undocumented)
    VectorOpenDataStandardLight = "VectorOpenDataStandardLight"
}

// @public (undocumented)
export interface ModifyCognitoIdentityPool {
    // (undocumented)
    identityPoolModification: CognitoIdentityPoolModification;
    // (undocumented)
    includeIdentityPool: true;
}

// @public (undocumented)
export interface NewLambdaConflictResolver {
    // (undocumented)
    type: 'NEW';
}

// @public (undocumented)
export interface NoCognitoIdentityPool {
    // (undocumented)
    includeIdentityPool: false;
}

// @public (undocumented)
export interface PermissionGroups {
    // (undocumented)
    [k: string]: CrudOperation[];
}

// @public (undocumented)
export interface PerModelResolutionstrategy {
    // (undocumented)
    entityName: string;
    // (undocumented)
    resolutionStrategy: ResolutionStrategy;
}

// @public (undocumented)
export interface PredefinedResolutionStrategy {
    // (undocumented)
    type: 'OPTIMISTIC_CONCURRENCY' | 'AUTOMERGE' | 'NONE';
}

// @public (undocumented)
export interface RemoveS3ServiceConfiguration extends S3ServiceConfigurationBase {
    // (undocumented)
    deleteBucketAndContents?: boolean;
    // (undocumented)
    resourceName: string;
}

// @public (undocumented)
export interface RemoveStorageRequest {
    // (undocumented)
    serviceConfiguration: RemoveS3ServiceConfiguration;
    // (undocumented)
    version: 1;
}

// @public (undocumented)
export type ResolutionStrategy = PredefinedResolutionStrategy | LambdaResolutionStrategy;

// @public (undocumented)
export interface S3Permissions {
    // (undocumented)
    auth: CrudOperation[];
    // (undocumented)
    groups?: PermissionGroups;
    // (undocumented)
    guest?: CrudOperation[];
}

// @public (undocumented)
export interface S3ServiceConfigurationBase {
    // (undocumented)
    serviceName: 'S3';
}

// @public (undocumented)
export interface UpdateApiRequest {
    // (undocumented)
    serviceModification: AppSyncServiceModification;
    // (undocumented)
    version: 1;
}

// @public (undocumented)
export interface UpdateAuthRequest {
    // (undocumented)
    serviceModification: CognitoServiceModification;
    // (undocumented)
    version: 2;
}

// @public (undocumented)
export interface UpdateGeoRequest {
    // (undocumented)
    serviceModification: GeoServiceModification;
    // (undocumented)
    version: 1;
}

// @public (undocumented)
export interface UpdateS3ServiceModification extends S3ServiceConfigurationBase {
    // (undocumented)
    lambdaTrigger?: LambdaTriggerConfig;
    // (undocumented)
    permissions: S3Permissions;
    // (undocumented)
    resourceName: string;
}

// @public (undocumented)
export interface UpdateStorageRequest {
    // (undocumented)
    serviceModification: UpdateS3ServiceModification;
    // (undocumented)
    version: 1;
}

// (No @packageDocumentation comment for this package)

```
