interface FlaticonSearchOptions {
    query: string;
    page?: number;
    limit?: number;
    color?: string;
    style?: string;
    categoryId?: string;
}
interface FlaticonResponse<T> {
    data: T;
    metadata: {
        totalElements: number;
        totalPages: number;
        currentPage: number;
    };
}
export interface IconElement {
    id: string;
    name: string;
    svg_url: string;
    category: string;
}
export interface FlaticonIcon {
    id: string;
    description: string;
    images: {
        png: {
            "64": string;
            "128": string;
            "512": string;
        };
        svg: string;
    };
    styles: string[];
    categories: Array<{
        id: number;
        name: string;
    }>;
    author: {
        name: string;
        username: string;
        avatarUrl: string;
    };
    license: {
        name: string;
        scope: string;
        url: string;
    };
}
export declare const mockCategories: {
    id: string;
    name: string;
    icon: string;
}[];
export declare const sampleElements: IconElement[];
export declare const mockIcons: FlaticonIcon[];
declare class FlaticonAPI {
    searchIcons(options: FlaticonSearchOptions): Promise<FlaticonResponse<FlaticonIcon[]>>;
    getPopularIcons(page?: number, limit?: number): Promise<FlaticonResponse<FlaticonIcon[]>>;
    getCategories(): Promise<{
        id: string;
        name: string;
        icon: string;
    }[]>;
}
export declare const flaticon: FlaticonAPI;
export {};
