import Database from "better-sqlite3";
export interface TokenProperty {
    property: string;
    value: string;
    valueNumber?: number;
    valueUnit?: string;
}
export interface Token {
    category: string;
    subcategory?: string;
    name: string;
    path: string;
    cssVariable?: string;
    scssVariable?: string;
    valueRaw: string;
    valueNumber?: number;
    valueUnit?: string;
    valueComputed?: string;
    description?: string;
    platform?: string;
    sourceFile?: string;
    properties?: TokenProperty[];
}
export interface ComponentProp {
    name: string;
    type?: string;
    defaultValue?: string;
    required?: boolean;
    options?: string[];
    description?: string;
}
export interface ComponentSlot {
    name: string;
    description?: string;
}
export interface ComponentEvent {
    name: string;
    payload?: string;
    description?: string;
}
export interface ComponentExample {
    framework: string;
    title?: string;
    code: string;
    description?: string;
}
export interface Component {
    name: string;
    slug: string;
    category?: string;
    description?: string;
    frameworks?: string[];
    props?: ComponentProp[];
    slots?: ComponentSlot[];
    events?: ComponentEvent[];
    examples?: ComponentExample[];
    cssClasses?: string[];
}
export interface Documentation {
    title: string;
    path: string;
    content: string;
    category?: string;
    keywords?: string[];
}
export interface CssUtilityExample {
    title?: string;
    code: string;
}
export interface CssUtility {
    name: string;
    slug: string;
    category: string;
    description?: string;
    classes: string[];
    examples: CssUtilityExample[];
}
export interface Icon {
    name: string;
    iconName: string;
    type: string;
    size: number;
    viewBox: string;
    paths: string;
}
export declare function initDatabase(dbPath: string): Database.Database;
export declare function insertTokens(db: Database.Database, tokens: Token[]): void;
export declare function getTokensByCategory(db: Database.Database, category: string): Token[];
export declare function getTokensBySubcategory(db: Database.Database, category: string, subcategory: string): Token[];
export declare function getTokenByPath(db: Database.Database, path: string): Token | undefined;
export declare function searchTokens(db: Database.Database, query: string, limit?: number): Token[];
export declare function insertComponent(db: Database.Database, component: Component): number;
export declare function insertComponents(db: Database.Database, components: Component[]): void;
export declare function getComponentBySlug(db: Database.Database, slug: string): Component | null;
export declare function listComponents(db: Database.Database, category?: string): Array<{
    name: string;
    slug: string;
    category: string;
    description: string;
}>;
export declare function insertDocs(db: Database.Database, docs: Documentation[]): void;
export declare function searchDocumentation(db: Database.Database, query: string, limit?: number): Array<{
    title: string;
    path: string;
    snippet: string;
    category: string;
}>;
export declare function getDocumentationByPath(db: Database.Database, path: string): Documentation | undefined;
export declare function insertCssUtility(db: Database.Database, utility: CssUtility): number;
export declare function insertCssUtilities(db: Database.Database, utilities: CssUtility[]): void;
export declare function getCssUtility(db: Database.Database, name: string): CssUtility | null;
export declare function listCssUtilities(db: Database.Database, category?: string): Array<{
    name: string;
    slug: string;
    category: string;
    description: string;
    classCount: number;
}>;
export declare function insertIcons(db: Database.Database, icons: Icon[]): void;
export declare function searchIcons(db: Database.Database, query: string, options?: {
    type?: string;
    size?: number;
    limit?: number;
}): Icon[];
export declare function getIconByName(db: Database.Database, name: string): Icon | null;
export declare function getIconsByType(db: Database.Database, type: string, limit?: number): Icon[];
export declare function listIconTypes(db: Database.Database): Array<{
    type: string;
    count: number;
}>;
export declare function listIcons(db: Database.Database, options?: {
    type?: string;
    size?: number;
    limit?: number;
}): Icon[];
export declare function clearDatabase(db: Database.Database): void;
export declare function getDatabaseStats(db: Database.Database): {
    tokens: number;
    components: number;
    cssUtilities: number;
    documentation: number;
    icons: number;
};
//# sourceMappingURL=queries.d.ts.map