import { CodegenGenericDataFieldDataType, CodegenJobGenericDataSourceType, CodegenJobStatus, FixedPosition, FormActionType, FormButtonsPosition, FormDataSourceType, GenericDataRelationshipType, JSModule, JSScript, JSTarget, LabelDecorator, SortDirection, StorageAccessLevel, TokenProviders, } from "./enums"; export interface ComponentPropertyBindingProperties { property: string | undefined; field?: string | undefined; } export interface FormBindingElement { element: string | undefined; property: string | undefined; } export interface GetCodegenJobRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; } export interface CodegenJobAsset { downloadUrl?: string | undefined; } export interface CodegenDependency { name?: string | undefined; supportedVersion?: string | undefined; isSemVer?: boolean | undefined; reason?: string | undefined; } export interface CodegenFeatureFlags { isRelationshipSupported?: boolean | undefined; isNonModelSupported?: boolean | undefined; } export interface CodegenGenericDataEnum { values: string[] | undefined; } export interface CodegenGenericDataRelationshipType { type: GenericDataRelationshipType | undefined; relatedModelName: string | undefined; relatedModelFields?: string[] | undefined; canUnlinkAssociatedModel?: boolean | undefined; relatedJoinFieldName?: string | undefined; relatedJoinTableName?: string | undefined; belongsToFieldOnRelatedModel?: string | undefined; associatedFields?: string[] | undefined; isHasManyIndex?: boolean | undefined; } export interface CodegenGenericDataField { dataType: CodegenGenericDataFieldDataType | undefined; dataTypeValue: string | undefined; required: boolean | undefined; readOnly: boolean | undefined; isArray: boolean | undefined; relationship?: CodegenGenericDataRelationshipType | undefined; } export interface CodegenGenericDataModel { fields: Record | undefined; isJoinTable?: boolean | undefined; primaryKeys: string[] | undefined; } export interface CodegenGenericDataNonModel { fields: Record | undefined; } export interface CodegenJobGenericDataSchema { dataSourceType: CodegenJobGenericDataSourceType | undefined; models: Record | undefined; enums: Record | undefined; nonModels: Record | undefined; } export interface DataStoreRenderConfig {} export interface GraphQLRenderConfig { typesFilePath: string | undefined; queriesFilePath: string | undefined; mutationsFilePath: string | undefined; subscriptionsFilePath: string | undefined; fragmentsFilePath: string | undefined; } export interface NoApiRenderConfig {} export type ApiConfiguration = | ApiConfiguration.DataStoreConfigMember | ApiConfiguration.GraphQLConfigMember | ApiConfiguration.NoApiConfigMember | ApiConfiguration.$UnknownMember; export declare namespace ApiConfiguration { interface GraphQLConfigMember { graphQLConfig: GraphQLRenderConfig; dataStoreConfig?: never; noApiConfig?: never; $unknown?: never; } interface DataStoreConfigMember { graphQLConfig?: never; dataStoreConfig: DataStoreRenderConfig; noApiConfig?: never; $unknown?: never; } interface NoApiConfigMember { graphQLConfig?: never; dataStoreConfig?: never; noApiConfig: NoApiRenderConfig; $unknown?: never; } interface $UnknownMember { graphQLConfig?: never; dataStoreConfig?: never; noApiConfig?: never; $unknown: [string, any]; } interface Visitor { graphQLConfig: (value: GraphQLRenderConfig) => T; dataStoreConfig: (value: DataStoreRenderConfig) => T; noApiConfig: (value: NoApiRenderConfig) => T; _: (name: string, value: any) => T; } } export interface ReactStartCodegenJobData { module?: JSModule | undefined; target?: JSTarget | undefined; script?: JSScript | undefined; renderTypeDeclarations?: boolean | undefined; inlineSourceMap?: boolean | undefined; apiConfiguration?: ApiConfiguration | undefined; dependencies?: Record | undefined; } export type CodegenJobRenderConfig = | CodegenJobRenderConfig.ReactMember | CodegenJobRenderConfig.$UnknownMember; export declare namespace CodegenJobRenderConfig { interface ReactMember { react: ReactStartCodegenJobData; $unknown?: never; } interface $UnknownMember { react?: never; $unknown: [string, any]; } interface Visitor { react: (value: ReactStartCodegenJobData) => T; _: (name: string, value: any) => T; } } export interface CodegenJob { id: string | undefined; appId: string | undefined; environmentName: string | undefined; renderConfig?: CodegenJobRenderConfig | undefined; genericDataSchema?: CodegenJobGenericDataSchema | undefined; autoGenerateForms?: boolean | undefined; features?: CodegenFeatureFlags | undefined; status?: CodegenJobStatus | undefined; statusMessage?: string | undefined; asset?: CodegenJobAsset | undefined; tags?: Record | undefined; createdAt?: Date | undefined; modifiedAt?: Date | undefined; dependencies?: CodegenDependency[] | undefined; } export interface GetCodegenJobResponse { job?: CodegenJob | undefined; } export interface ListCodegenJobsRequest { appId: string | undefined; environmentName: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface CodegenJobSummary { appId: string | undefined; environmentName: string | undefined; id: string | undefined; createdAt?: Date | undefined; modifiedAt?: Date | undefined; } export interface ListCodegenJobsResponse { entities: CodegenJobSummary[] | undefined; nextToken?: string | undefined; } export interface StartCodegenJobData { renderConfig: CodegenJobRenderConfig | undefined; genericDataSchema?: CodegenJobGenericDataSchema | undefined; autoGenerateForms?: boolean | undefined; features?: CodegenFeatureFlags | undefined; tags?: Record | undefined; } export interface StartCodegenJobRequest { appId: string | undefined; environmentName: string | undefined; clientToken?: string | undefined; codegenJobToCreate: StartCodegenJobData | undefined; } export interface StartCodegenJobResponse { entity?: CodegenJob | undefined; } export interface SortProperty { field: string | undefined; direction: SortDirection | undefined; } export interface ComponentVariant { variantValues?: Record | undefined; overrides?: Record> | undefined; } export interface DeleteComponentRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; } export interface ExportComponentsRequest { appId: string | undefined; environmentName: string | undefined; nextToken?: string | undefined; } export interface GetComponentRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; } export interface ListComponentsRequest { appId: string | undefined; environmentName: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ComponentSummary { appId: string | undefined; environmentName: string | undefined; id: string | undefined; name: string | undefined; componentType: string | undefined; } export interface ListComponentsResponse { entities: ComponentSummary[] | undefined; nextToken?: string | undefined; } export interface ExchangeCodeForTokenRequestBody { code: string | undefined; redirectUri: string | undefined; clientId?: string | undefined; } export interface ExchangeCodeForTokenRequest { provider: TokenProviders | undefined; request: ExchangeCodeForTokenRequestBody | undefined; } export interface ExchangeCodeForTokenResponse { accessToken: string | undefined; expiresIn: number | undefined; refreshToken: string | undefined; } export type FieldPosition = | FieldPosition.BelowMember | FieldPosition.FixedMember | FieldPosition.RightOfMember | FieldPosition.$UnknownMember; export declare namespace FieldPosition { interface FixedMember { fixed: FixedPosition; rightOf?: never; below?: never; $unknown?: never; } interface RightOfMember { fixed?: never; rightOf: string; below?: never; $unknown?: never; } interface BelowMember { fixed?: never; rightOf?: never; below: string; $unknown?: never; } interface $UnknownMember { fixed?: never; rightOf?: never; below?: never; $unknown: [string, any]; } interface Visitor { fixed: (value: FixedPosition) => T; rightOf: (value: string) => T; below: (value: string) => T; _: (name: string, value: any) => T; } } export interface FormButton { excluded?: boolean | undefined; children?: string | undefined; position?: FieldPosition | undefined; } export interface FormCTA { position?: FormButtonsPosition | undefined; clear?: FormButton | undefined; cancel?: FormButton | undefined; submit?: FormButton | undefined; } export interface FormDataTypeConfig { dataSourceType: FormDataSourceType | undefined; dataTypeName: string | undefined; } export interface FileUploaderFieldConfig { accessLevel: StorageAccessLevel | undefined; acceptedFileTypes: string[] | undefined; showThumbnails?: boolean | undefined; isResumable?: boolean | undefined; maxFileCount?: number | undefined; maxSize?: number | undefined; } export interface FormInputBindingPropertiesValueProperties { model?: string | undefined; } export interface FormInputBindingPropertiesValue { type?: string | undefined; bindingProperties?: FormInputBindingPropertiesValueProperties | undefined; } export interface FormInputValuePropertyBindingProperties { property: string | undefined; field?: string | undefined; } export interface FieldValidationConfiguration { type: string | undefined; strValues?: string[] | undefined; numValues?: number[] | undefined; validationMessage?: string | undefined; } export interface SectionalElement { type: string | undefined; position?: FieldPosition | undefined; text?: string | undefined; level?: number | undefined; orientation?: string | undefined; excluded?: boolean | undefined; } export type FormStyleConfig = | FormStyleConfig.TokenReferenceMember | FormStyleConfig.ValueMember | FormStyleConfig.$UnknownMember; export declare namespace FormStyleConfig { interface TokenReferenceMember { tokenReference: string; value?: never; $unknown?: never; } interface ValueMember { tokenReference?: never; value: string; $unknown?: never; } interface $UnknownMember { tokenReference?: never; value?: never; $unknown: [string, any]; } interface Visitor { tokenReference: (value: string) => T; value: (value: string) => T; _: (name: string, value: any) => T; } } export interface FormStyle { horizontalGap?: FormStyleConfig | undefined; verticalGap?: FormStyleConfig | undefined; outerPadding?: FormStyleConfig | undefined; } export interface DeleteFormRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; } export interface ExportFormsRequest { appId: string | undefined; environmentName: string | undefined; nextToken?: string | undefined; } export interface GetFormRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; } export interface ListFormsRequest { appId: string | undefined; environmentName: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface FormSummary { appId: string | undefined; dataType: FormDataTypeConfig | undefined; environmentName: string | undefined; formActionType: FormActionType | undefined; id: string | undefined; name: string | undefined; } export interface ListFormsResponse { entities: FormSummary[] | undefined; nextToken?: string | undefined; } export interface GetMetadataRequest { appId: string | undefined; environmentName: string | undefined; } export interface GetMetadataResponse { features: Record | undefined; } export interface ListTagsForResourceRequest { resourceArn: string | undefined; } export interface ListTagsForResourceResponse { tags: Record | undefined; } export interface PutMetadataFlagBody { newValue: string | undefined; } export interface PutMetadataFlagRequest { appId: string | undefined; environmentName: string | undefined; featureName: string | undefined; body: PutMetadataFlagBody | undefined; } export interface RefreshTokenRequestBody { token: string | undefined; clientId?: string | undefined; } export interface RefreshTokenRequest { provider: TokenProviders | undefined; refreshTokenBody: RefreshTokenRequestBody | undefined; } export interface RefreshTokenResponse { accessToken: string | undefined; expiresIn: number | undefined; } export interface TagResourceRequest { resourceArn: string | undefined; tags: Record | undefined; } export interface TagResourceResponse {} export interface DeleteThemeRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; } export interface ExportThemesRequest { appId: string | undefined; environmentName: string | undefined; nextToken?: string | undefined; } export interface GetThemeRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; } export interface ListThemesRequest { appId: string | undefined; environmentName: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ThemeSummary { appId: string | undefined; environmentName: string | undefined; id: string | undefined; name: string | undefined; } export interface ListThemesResponse { entities: ThemeSummary[] | undefined; nextToken?: string | undefined; } export interface UntagResourceRequest { resourceArn: string | undefined; tagKeys: string[] | undefined; } export interface UntagResourceResponse {} export interface FormInputValueProperty { value?: string | undefined; bindingProperties?: FormInputValuePropertyBindingProperties | undefined; concat?: FormInputValueProperty[] | undefined; } export interface ThemeValue { value?: string | undefined; children?: ThemeValues[] | undefined; } export interface ThemeValues { key?: string | undefined; value?: ThemeValue | undefined; } export interface Predicate { or?: Predicate[] | undefined; and?: Predicate[] | undefined; field?: string | undefined; operator?: string | undefined; operand?: string | undefined; operandType?: string | undefined; } export interface ComponentBindingPropertiesValueProperties { model?: string | undefined; field?: string | undefined; predicates?: Predicate[] | undefined; userAttribute?: string | undefined; bucket?: string | undefined; key?: string | undefined; defaultValue?: string | undefined; slotName?: string | undefined; } export interface ComponentDataConfiguration { model: string | undefined; sort?: SortProperty[] | undefined; predicate?: Predicate | undefined; identifiers?: string[] | undefined; } export interface ComponentProperty { value?: string | undefined; bindingProperties?: ComponentPropertyBindingProperties | undefined; collectionBindingProperties?: ComponentPropertyBindingProperties | undefined; defaultValue?: string | undefined; model?: string | undefined; bindings?: Record | undefined; event?: string | undefined; userAttribute?: string | undefined; concat?: ComponentProperty[] | undefined; condition?: ComponentConditionProperty | undefined; configured?: boolean | undefined; type?: string | undefined; importedValue?: string | undefined; componentName?: string | undefined; property?: string | undefined; } export interface ValueMapping { displayValue?: FormInputValueProperty | undefined; value: FormInputValueProperty | undefined; } export interface ComponentBindingPropertiesValue { type?: string | undefined; bindingProperties?: ComponentBindingPropertiesValueProperties | undefined; defaultValue?: string | undefined; } export interface CreateThemeData { name: string | undefined; values: ThemeValues[] | undefined; overrides?: ThemeValues[] | undefined; tags?: Record | undefined; } export interface Theme { appId: string | undefined; environmentName: string | undefined; id: string | undefined; name: string | undefined; createdAt: Date | undefined; modifiedAt?: Date | undefined; values: ThemeValues[] | undefined; overrides?: ThemeValues[] | undefined; tags?: Record | undefined; } export interface UpdateThemeData { id?: string | undefined; name?: string | undefined; values: ThemeValues[] | undefined; overrides?: ThemeValues[] | undefined; } export interface MutationActionSetStateParameter { componentName: string | undefined; property: string | undefined; set: ComponentProperty | undefined; } export interface ComponentConditionProperty { property?: string | undefined; field?: string | undefined; operator?: string | undefined; operand?: string | undefined; then?: ComponentProperty | undefined; else?: ComponentProperty | undefined; operandType?: string | undefined; } export interface CreateThemeRequest { appId: string | undefined; environmentName: string | undefined; clientToken?: string | undefined; themeToCreate: CreateThemeData | undefined; } export interface CreateThemeResponse { entity?: Theme | undefined; } export interface GetThemeResponse { theme?: Theme | undefined; } export interface UpdateThemeRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; clientToken?: string | undefined; updatedTheme: UpdateThemeData | undefined; } export interface UpdateThemeResponse { entity?: Theme | undefined; } export interface ValueMappings { values: ValueMapping[] | undefined; bindingProperties?: Record | undefined; } export interface ExportThemesResponse { entities: Theme[] | undefined; nextToken?: string | undefined; } export interface FieldInputConfig { type: string | undefined; required?: boolean | undefined; readOnly?: boolean | undefined; placeholder?: string | undefined; defaultValue?: string | undefined; descriptiveText?: string | undefined; defaultChecked?: boolean | undefined; defaultCountryCode?: string | undefined; valueMappings?: ValueMappings | undefined; name?: string | undefined; minValue?: number | undefined; maxValue?: number | undefined; step?: number | undefined; value?: string | undefined; isArray?: boolean | undefined; fileUploaderConfig?: FileUploaderFieldConfig | undefined; } export interface FieldConfig { label?: string | undefined; position?: FieldPosition | undefined; excluded?: boolean | undefined; inputType?: FieldInputConfig | undefined; validations?: FieldValidationConfiguration[] | undefined; } export interface CreateFormData { name: string | undefined; dataType: FormDataTypeConfig | undefined; formActionType: FormActionType | undefined; fields: Record | undefined; style: FormStyle | undefined; sectionalElements: Record | undefined; schemaVersion: string | undefined; cta?: FormCTA | undefined; tags?: Record | undefined; labelDecorator?: LabelDecorator | undefined; } export interface Form { appId: string | undefined; environmentName: string | undefined; id: string | undefined; name: string | undefined; formActionType: FormActionType | undefined; style: FormStyle | undefined; dataType: FormDataTypeConfig | undefined; fields: Record | undefined; sectionalElements: Record | undefined; schemaVersion: string | undefined; tags?: Record | undefined; cta?: FormCTA | undefined; labelDecorator?: LabelDecorator | undefined; } export interface UpdateFormData { name?: string | undefined; dataType?: FormDataTypeConfig | undefined; formActionType?: FormActionType | undefined; fields?: Record | undefined; style?: FormStyle | undefined; sectionalElements?: Record | undefined; schemaVersion?: string | undefined; cta?: FormCTA | undefined; labelDecorator?: LabelDecorator | undefined; } export interface CreateFormRequest { appId: string | undefined; environmentName: string | undefined; clientToken?: string | undefined; formToCreate: CreateFormData | undefined; } export interface CreateFormResponse { entity?: Form | undefined; } export interface GetFormResponse { form?: Form | undefined; } export interface UpdateFormRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; clientToken?: string | undefined; updatedForm: UpdateFormData | undefined; } export interface UpdateFormResponse { entity?: Form | undefined; } export interface ExportFormsResponse { entities: Form[] | undefined; nextToken?: string | undefined; } export interface ActionParameters { type?: ComponentProperty | undefined; url?: ComponentProperty | undefined; anchor?: ComponentProperty | undefined; target?: ComponentProperty | undefined; global?: ComponentProperty | undefined; model?: string | undefined; id?: ComponentProperty | undefined; fields?: Record | undefined; state?: MutationActionSetStateParameter | undefined; } export interface ComponentEvent { action?: string | undefined; parameters?: ActionParameters | undefined; bindingEvent?: string | undefined; } export interface ComponentChild { componentType: string | undefined; name: string | undefined; properties: Record | undefined; children?: ComponentChild[] | undefined; events?: Record | undefined; sourceId?: string | undefined; } export interface Component { appId: string | undefined; environmentName: string | undefined; sourceId?: string | undefined; id: string | undefined; name: string | undefined; componentType: string | undefined; properties: Record | undefined; children?: ComponentChild[] | undefined; variants: ComponentVariant[] | undefined; overrides: Record> | undefined; bindingProperties: Record | undefined; collectionProperties?: Record | undefined; createdAt: Date | undefined; modifiedAt?: Date | undefined; tags?: Record | undefined; events?: Record | undefined; schemaVersion?: string | undefined; } export interface CreateComponentData { name: string | undefined; sourceId?: string | undefined; componentType: string | undefined; properties: Record | undefined; children?: ComponentChild[] | undefined; variants: ComponentVariant[] | undefined; overrides: Record> | undefined; bindingProperties: Record | undefined; collectionProperties?: Record | undefined; tags?: Record | undefined; events?: Record | undefined; schemaVersion?: string | undefined; } export interface UpdateComponentData { id?: string | undefined; name?: string | undefined; sourceId?: string | undefined; componentType?: string | undefined; properties?: Record | undefined; children?: ComponentChild[] | undefined; variants?: ComponentVariant[] | undefined; overrides?: Record> | undefined; bindingProperties?: Record | undefined; collectionProperties?: Record | undefined; events?: Record | undefined; schemaVersion?: string | undefined; } export interface CreateComponentRequest { appId: string | undefined; environmentName: string | undefined; clientToken?: string | undefined; componentToCreate: CreateComponentData | undefined; } export interface CreateComponentResponse { entity?: Component | undefined; } export interface GetComponentResponse { component?: Component | undefined; } export interface UpdateComponentRequest { appId: string | undefined; environmentName: string | undefined; id: string | undefined; clientToken?: string | undefined; updatedComponent: UpdateComponentData | undefined; } export interface UpdateComponentResponse { entity?: Component | undefined; } export interface ExportComponentsResponse { entities: Component[] | undefined; nextToken?: string | undefined; }