import ts, { Statement, JsxAttribute } from 'typescript'; import { StudioComponent, StudioComponentChild, StateStudioComponentProperty, ActionStudioComponentEvent, StudioComponentProperty, ComponentMetadata, StateReferenceMetadata } from '@aws-amplify/codegen-ui'; import { ImportCollection } from '../imports'; import { DataApiKind } from '../react-render-config'; export declare function buildUseEffectStatements(component: StudioComponent, componentMetadata: ComponentMetadata): Statement[]; export declare function mapSyntheticStateReferences(componentMetadata: ComponentMetadata): StateReferenceMetadata[]; export declare function getActionStateParameters(action: ActionStudioComponentEvent): StateStudioComponentProperty[]; export declare function buildOpeningElementControlEvents(componentType: string, setStateName: string, stateName: string, event: string): JsxAttribute; export declare function buildStateStatements(component: StudioComponent, componentMetadata: ComponentMetadata, importCollection: ImportCollection, apiKind?: DataApiKind): Statement[]; export declare function getStateInitialValue(component: StudioComponent, componentMetadata: ComponentMetadata, stateReference: StateReferenceMetadata): ts.Expression; export declare function getDefaultForComponentAndProperty(component: StudioComponent | StudioComponentChild, property: string): StudioComponentProperty | undefined; export declare type MutationReferences = { [property: string]: { addControlEvent: boolean; }[]; }; export declare function filterStateReferencesForComponent(component: StudioComponent | StudioComponentChild, stateReferences: StateReferenceMetadata[]): MutationReferences;