export interface IWordPressCredentials {
    url: string;
    username: string;
    password: string;
}
export interface IWordPressCredentialsType {
    username: string;
    password: string;
    domain: string;
}
export interface IFaqItem {
    question: string;
    answer: string;
}
export interface ICta {
    text: string;
    url: string;
}
export interface IWordPressPostMetadata {
    meta_title?: string;
    meta_description?: string;
    meta_keywords?: string;
    og_title?: string;
    og_description?: string;
    twitter_title?: string;
    twitter_description?: string;
    faq?: IFaqItem[];
    cta?: ICta;
}
export interface IWordPressPost extends IWordPressPostMetadata {
    id?: number;
    title: string;
    content: string;
    status: string;
    excerpt?: string;
    slug?: string;
    featured_media?: number;
    categories?: (string | number)[];
    tags?: (string | number)[];
    image_url?: string;
    /**
     * Tipo de conteúdo (post ou página)
     */
    type?: 'post' | 'page';
    /**
     * URL da imagem destacada para upload
     */
    featured_image_url?: string;
    /**
     * ID da imagem destacada na biblioteca de mídia
     */
    featured_image_id?: number;
    /**
     * Texto alternativo da imagem destacada
     */
    featured_image_alt?: string;
    /**
     * Título da imagem destacada
     */
    featured_image_title?: string;
    /**
     * Legenda da imagem destacada
     */
    featured_image_caption?: string;
    /**
     * Descrição da imagem destacada
     */
    featured_image_description?: string;
}
export interface ITaxonomyItem {
    id: number;
    name: string;
    slug: string;
    description?: string;
    parent?: number;
    count?: number;
}
/**
 * Interface para item de taxonomia com informações completas
 */
export interface IWordPressTaxonomy extends ITaxonomyItem {
    /**
     * Tipo de taxonomia (categoria ou tag)
     */
    taxonomy: 'category' | 'post_tag';
    /**
     * Link para a página da taxonomia
     */
    link?: string;
    /**
     * Meta dados adicionais da taxonomia
     */
    meta?: Record<string, any>;
    /**
     * Categorias filhas (usado para hierarquia)
     */
    children?: IWordPressTaxonomy[];
}
/**
 * Opções para consulta de taxonomias
 */
export interface ITaxonomyQueryOptions {
    /**
     * Número da página para resultados paginados
     * Default: 1
     */
    page?: number;
    /**
     * Quantidade de itens por página
     * Default: 10
     */
    perPage?: number;
    /**
     * Filtro por termo de busca
     */
    search?: string;
    /**
     * Filtro por ID do pai (apenas para categorias)
     */
    parent?: number;
    /**
     * Incluir contagem de posts
     */
    includePostCount?: boolean;
}
/**
 * Dados para criar/atualizar um item de taxonomia
 */
export interface ITaxonomyCreateData {
    /**
     * Nome da taxonomia
     */
    name: string;
    /**
     * Slug personalizado (opcional)
     */
    slug?: string;
    /**
     * Descrição da taxonomia (opcional)
     */
    description?: string;
    /**
     * ID da taxonomia pai (apenas para categorias)
     */
    parent?: number;
}
/**
 * Interface para metadados de imagem
 */
export interface IImageMetadata {
    /**
     * Texto alternativo da imagem
     */
    alt_text?: string;
    /**
     * Legenda da imagem
     */
    caption?: string;
    /**
     * Descrição da imagem
     */
    description?: string;
    /**
     * Título da imagem
     */
    title?: string;
}
/**
 * Interface para informações de uma imagem
 */
export interface IWordPressImage {
    /**
     * ID da imagem na biblioteca de mídia do WordPress
     */
    id: number;
    /**
     * URL da imagem
     */
    url: string;
    /**
     * Título da imagem
     */
    title?: string;
    /**
     * Texto alternativo da imagem
     */
    alt?: string;
    /**
     * Legenda da imagem
     */
    caption?: string;
    /**
     * Descrição da imagem
     */
    description?: string;
    /**
     * Tipo MIME da imagem
     */
    mime_type?: string;
    /**
     * Data de criação
     */
    date_created?: string;
    /**
     * URLs das diferentes dimensões da imagem
     */
    sizes?: Record<string, string>;
}
/**
 * Interface para opções de upload de imagem
 */
export interface IImageUploadOptions {
    /**
     * Nome do arquivo
     */
    filename?: string;
    /**
     * Tipo MIME da imagem
     */
    mimeType?: string;
    /**
     * Metadados da imagem
     */
    metadata?: IImageMetadata;
}
