/***************************************************************************
 * The contents of this file were generated with Amplify Studio.           *
 * Please refrain from making any modifications to this file.              *
 * Any changes to this file will be overwritten when running amplify pull. *
 **************************************************************************/

import * as React from "react";
import { GridProps, SwitchFieldProps, TextFieldProps } from "@aws-amplify/ui-react";
import { EscapeHatchProps } from "@aws-amplify/ui-react/internal";
import { Library } from "../models";
export declare type ValidationResponse = {
    hasError: boolean;
    errorMessage?: string;
};
export declare type ValidationFunction<T> = (value: T, validationResponse: ValidationResponse) => ValidationResponse | Promise<ValidationResponse>;
export declare type LibraryUpdateFormInputValues = {
    createdAt?: string;
    updatedAt?: string;
    userId?: string;
    isIntro?: boolean;
    isOutro?: boolean;
    isDeleted?: boolean;
    libraryType?: string;
    title?: string;
    picture?: string;
    shortDescription?: string;
    uploadUrl?: string;
    uploadThumnail?: string;
    cloudFrontUrl?: string;
    s3URI?: string;
    s3Bucket?: string;
    s3Key?: string;
    playbackUrl?: string;
    directPlayBackUrl?: string;
    thumbnails?: string[];
    libraryStatus?: string;
};
export declare type LibraryUpdateFormValidationValues = {
    createdAt?: ValidationFunction<string>;
    updatedAt?: ValidationFunction<string>;
    userId?: ValidationFunction<string>;
    isIntro?: ValidationFunction<boolean>;
    isOutro?: ValidationFunction<boolean>;
    isDeleted?: ValidationFunction<boolean>;
    libraryType?: ValidationFunction<string>;
    title?: ValidationFunction<string>;
    picture?: ValidationFunction<string>;
    shortDescription?: ValidationFunction<string>;
    uploadUrl?: ValidationFunction<string>;
    uploadThumnail?: ValidationFunction<string>;
    cloudFrontUrl?: ValidationFunction<string>;
    s3URI?: ValidationFunction<string>;
    s3Bucket?: ValidationFunction<string>;
    s3Key?: ValidationFunction<string>;
    playbackUrl?: ValidationFunction<string>;
    directPlayBackUrl?: ValidationFunction<string>;
    thumbnails?: ValidationFunction<string>;
    libraryStatus?: ValidationFunction<string>;
};
export declare type PrimitiveOverrideProps<T> = Partial<T> & React.DOMAttributes<HTMLDivElement>;
export declare type LibraryUpdateFormOverridesProps = {
    LibraryUpdateFormGrid?: PrimitiveOverrideProps<GridProps>;
    createdAt?: PrimitiveOverrideProps<TextFieldProps>;
    updatedAt?: PrimitiveOverrideProps<TextFieldProps>;
    userId?: PrimitiveOverrideProps<TextFieldProps>;
    isIntro?: PrimitiveOverrideProps<SwitchFieldProps>;
    isOutro?: PrimitiveOverrideProps<SwitchFieldProps>;
    isDeleted?: PrimitiveOverrideProps<SwitchFieldProps>;
    libraryType?: PrimitiveOverrideProps<TextFieldProps>;
    title?: PrimitiveOverrideProps<TextFieldProps>;
    picture?: PrimitiveOverrideProps<TextFieldProps>;
    shortDescription?: PrimitiveOverrideProps<TextFieldProps>;
    uploadUrl?: PrimitiveOverrideProps<TextFieldProps>;
    uploadThumnail?: PrimitiveOverrideProps<TextFieldProps>;
    cloudFrontUrl?: PrimitiveOverrideProps<TextFieldProps>;
    s3URI?: PrimitiveOverrideProps<TextFieldProps>;
    s3Bucket?: PrimitiveOverrideProps<TextFieldProps>;
    s3Key?: PrimitiveOverrideProps<TextFieldProps>;
    playbackUrl?: PrimitiveOverrideProps<TextFieldProps>;
    directPlayBackUrl?: PrimitiveOverrideProps<TextFieldProps>;
    thumbnails?: PrimitiveOverrideProps<TextFieldProps>;
    libraryStatus?: PrimitiveOverrideProps<TextFieldProps>;
} & EscapeHatchProps;
export declare type LibraryUpdateFormProps = React.PropsWithChildren<{
    overrides?: LibraryUpdateFormOverridesProps | undefined | null;
} & {
    id?: string;
    library?: Library;
    onSubmit?: (fields: LibraryUpdateFormInputValues) => LibraryUpdateFormInputValues;
    onSuccess?: (fields: LibraryUpdateFormInputValues) => void;
    onError?: (fields: LibraryUpdateFormInputValues, errorMessage: string) => void;
    onChange?: (fields: LibraryUpdateFormInputValues) => LibraryUpdateFormInputValues;
    onValidate?: LibraryUpdateFormValidationValues;
} & React.CSSProperties>;
export default function LibraryUpdateForm(props: LibraryUpdateFormProps): React.ReactElement;
