import ts, { Statement, ObjectLiteralExpression, Expression } from 'typescript'; import { StudioComponent, StudioComponentChild, ActionStudioComponentEvent, StudioComponentProperty, MutationAction, ComponentMetadata, DataStoreCreateItemAction, DataStoreUpdateItemAction, DataStoreDeleteItemAction } from '@aws-amplify/codegen-ui'; import { ImportCollection, ImportValue } from '../imports'; import { DataApiKind } from '../react-render-config'; declare enum Action { 'Amplify.Navigation' = "Amplify.Navigation", 'Amplify.DataStoreCreateItemAction' = "Amplify.DataStoreCreateItemAction", 'Amplify.DataStoreUpdateItemAction' = "Amplify.DataStoreUpdateItemAction", 'Amplify.DataStoreDeleteItemAction' = "Amplify.DataStoreDeleteItemAction", 'Amplify.AuthSignOut' = "Amplify.AuthSignOut", 'Amplify.Mutation' = "Amplify.Mutation" } declare type DataAction = DataStoreCreateItemAction | DataStoreUpdateItemAction | DataStoreDeleteItemAction; export default Action; export declare const ActionNameMapping: Partial>; export declare function getActionHookImportValue(action: string): ImportValue; export declare function getComponentActions(component: StudioComponent | StudioComponentChild): { action: ActionStudioComponentEvent; identifier: string; }[]; export declare function getActionIdentifier(componentName: string, event: string): string; export declare function buildUseActionStatement(componentMetadata: ComponentMetadata, action: ActionStudioComponentEvent, identifier: string, importCollection: ImportCollection, apiKind?: DataApiKind, renderConfigDependencies?: { [key: string]: string; }): Statement; export declare function buildGraphqlCallback(componentMetadata: ComponentMetadata, action: DataAction, identifier: string, importCollection: ImportCollection, renderConfigDependencies?: { [key: string]: string; }): ts.VariableStatement; export declare function buildMutationActionStatement(componentMetadata: ComponentMetadata, action: MutationAction, identifier: string): ts.VariableStatement; export declare function buildActionArguments(componentMetadata: ComponentMetadata, action: ActionStudioComponentEvent, importCollection: ImportCollection): ObjectLiteralExpression[] | undefined; export declare function addSchemaToArguments(properties: ts.PropertyAssignment[], importCollection: ImportCollection): void; export declare function getActionParameterValue(componentMetadata: ComponentMetadata, key: string, value: StudioComponentProperty | { [key: string]: StudioComponentProperty; } | string, importCollection: ImportCollection): Expression;