export declare enum ArticleTags {
    CitiesAndLocalGovernment = "topic_CitiesAndLocalGovernment",
    Climate = "topic_Climate",
    DigitalAndData = "topic_DigitalAndData",
    Education = "topic_Education",
    EquityJusticeAndInclusion = "topic_EquityJusticeAndInclusion",
    HealthAndSocialCare = "topic_HealthAndSocialCare",
    Innovation = "topic_Innovation",
    LeadershipAndSkills = "topic_LeadershipAndSkills",
    LifeInGovernment = "topic_LifeInGovernment",
    Policymaking = "topic_Policymaking",
    TransportAndInfrastructure = "topic_TransportAndInfrastructure",
    WorkingAndTheEconomy = "topic_WorkAndTheEconomy"
}
export interface ICoverImage {
    title?: string;
    description?: string;
    url: string;
    width: number;
    height: number;
    color?: string;
    authorName: string;
    authorLink: string;
}
export interface IPublishArticleFormValues {
    title: string;
    subtitle: string;
    body: string;
    tags: ArticleTags[];
    coverImage: ICoverImage;
}
export interface IPublishArticleFormProps {
    /** A unique ID for the form */
    id?: string;
    /** Values to pre-populate the form with */
    values?: {
        /** The title of the form */
        title?: string;
        /** The subtitle of the form */
        subtitle?: string;
        /** The body of the form */
        body?: string;
        /** The tags of the form */
        tags?: ArticleTags[];
        /** The cover image */
        coverImage?: ICoverImage;
    };
    /** The functions to handle the form */
    functions?: {
        /** The function to publish the article */
        create: (args: IPublishArticleFormValues) => Promise<void>;
        /** The function called when the form is successfully published */
        onSuccess?: (args: IPublishArticleFormValues) => void;
        /** A function to call when there's an error with the form */
        onFailure?: () => void;
    };
    /** Toggle the image picker */
    setShowImagePicker: (showImagePicker: boolean) => void;
    /** Metadata about the form */
    meta?: {
        /** Whether the form is rendered in an overlay */
        isInOverlay?: boolean;
    };
    /** The tracking details for GTM */
    gtm?: {
        /** The context for GTM */
        context?: string;
        /** The event for GTM */
        event?: string;
    };
}
