import type { JSXElement } from "./types.js";
import { type Operation } from "effection";
export declare const CollectedIslands: any;
export interface IslandModule<TArgs extends unknown[] = unknown[]> {
    default?(...args: TArgs): Operation<void>;
    placeholder?(...args: TArgs): JSXElement;
}
export interface IslandCollection {
    nextId: number;
    invocations: Record<string, IslandInvocation>;
    seen: Set<string>;
    modules: Record<string, IslandModule>;
}
interface IslandInvocation {
    id: string;
    location: string;
    args: unknown[];
}
export declare function useIsland(location: string, ...args: unknown[]): Operation<JSXElement>;
export {};
//# sourceMappingURL=island.d.ts.map