/***************************************************************************
 * 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";
export declare type ValidationResponse = {
    hasError: boolean;
    errorMessage?: string;
};
export declare type ValidationFunction<T> = (value: T, validationResponse: ValidationResponse) => ValidationResponse | Promise<ValidationResponse>;
export declare type LibraryCreateFormInputValues = {
    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 LibraryCreateFormValidationValues = {
    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 LibraryCreateFormOverridesProps = {
    LibraryCreateFormGrid?: 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 LibraryCreateFormProps = React.PropsWithChildren<{
    overrides?: LibraryCreateFormOverridesProps | undefined | null;
} & {
    clearOnSuccess?: boolean;
    onSubmit?: (fields: LibraryCreateFormInputValues) => LibraryCreateFormInputValues;
    onSuccess?: (fields: LibraryCreateFormInputValues) => void;
    onError?: (fields: LibraryCreateFormInputValues, errorMessage: string) => void;
    onChange?: (fields: LibraryCreateFormInputValues) => LibraryCreateFormInputValues;
    onValidate?: LibraryCreateFormValidationValues;
} & React.CSSProperties>;
export default function LibraryCreateForm(props: LibraryCreateFormProps): React.ReactElement;
