/**
 * Workspace API - Direct access to parse, lint, complete, hover.
 *
 * Use this for:
 * - Custom editor integrations
 * - Build-time SQL linting
 * - Simple tooling that doesn't need full LSP
 *
 * @example
 * ```typescript
 * import { createWorkspace } from '@postgres-language-server/wasm/workspace';
 *
 * const workspace = await createWorkspace();
 * workspace.insertFile('/query.sql', 'SELECT * FROM users;');
 * const diagnostics = workspace.lint('/query.sql');
 * ```
 */
import type { Diagnostic, CompletionItem, SchemaCache, WorkspaceOptions, PGLSModule } from "./types.js";
export type { Diagnostic, CompletionItem, SchemaCache, WorkspaceOptions, PGLSModule };
/**
 * The Workspace class provides a direct API for SQL parsing, linting,
 * completions, and hover information.
 */
export declare class Workspace {
    private module;
    constructor(module: PGLSModule);
    /**
     * Set the database schema from a SchemaCache object or JSON string.
     */
    setSchema(schema: SchemaCache | string): void;
    /**
     * Clear the current schema.
     */
    clearSchema(): void;
    /**
     * Insert or update a file in the workspace.
     */
    insertFile(path: string, content: string): void;
    /**
     * Remove a file from the workspace.
     */
    removeFile(path: string): void;
    /**
     * Lint a file and return diagnostics.
     */
    lint(path: string): Diagnostic[];
    /**
     * Get completions at a position in a file.
     */
    complete(path: string, offset: number): CompletionItem[];
    /**
     * Get hover information at a position in a file.
     */
    hover(path: string, offset: number): string | null;
    /**
     * Parse SQL and return any parse errors.
     */
    parse(sql: string): string[];
    /**
     * Get the version of the library.
     */
    version(): string;
}
/**
 * Create a new Workspace instance.
 */
export declare function createWorkspace(options?: WorkspaceOptions): Promise<Workspace>;
export default createWorkspace;
//# sourceMappingURL=workspace.d.ts.map