type Nullable<T> = T | null | undefined
export declare namespace kotlin.collections {
    interface KtList<E> /* extends kotlin.collections.Collection<E> */ {
        asJsReadonlyArrayView(): ReadonlyArray<E>;
        readonly __doNotUseOrImplementIt: {
            readonly "kotlin.collections.KtList": unique symbol;
        };
    }
    const KtList: {
        fromJsArray<E>(array: ReadonlyArray<E>): kotlin.collections.KtList<E>;
    };
    interface KtMap<K, V> {
        asJsReadonlyMapView(): ReadonlyMap<K, V>;
        readonly __doNotUseOrImplementIt: {
            readonly "kotlin.collections.KtMap": unique symbol;
        };
    }
    const KtMap: {
        fromJsMap<K, V>(map: ReadonlyMap<K, V>): kotlin.collections.KtMap<K, V>;
    };
}
export declare namespace io.ktor.client.engine.js {
    /** @deprecated  */
    const initHook: any;
}
export declare namespace com.earthapp.shovel {
    function closeClient(): void;
    function clearCache(): void;
    class Element {
        private constructor();
        get tagName(): string;
        get innerHTML(): string;
        get textContent(): string;
        get ownTextContent(): string;
        get attributes(): kotlin.collections.KtMap<string, string>;
        get children(): kotlin.collections.KtList<com.earthapp.shovel.Element>;
        get(attribute: string): Nullable<string>;
        get id(): Nullable<string>;
        get classes(): kotlin.collections.KtList<string>;
        get style(): Nullable<string>;
    }
    class Document {
        private constructor();
        get url(): string;
        get html(): string;
        get body(): com.earthapp.shovel.Element;
        get bodyElements(): string;
        get head(): com.earthapp.shovel.Element;
        get title(): string;
        get metadata(): kotlin.collections.KtMap<string, kotlin.collections.KtList<string>>;
        get linkTags(): kotlin.collections.KtMap<string, kotlin.collections.KtList<string>>;
    }
    function querySelector(_this_: com.earthapp.shovel.Document, selector?: string, filter?: (p0: com.earthapp.shovel.Element) => boolean): Nullable<com.earthapp.shovel.Element>;
    function getElementById(_this_: com.earthapp.shovel.Document, id: string): Nullable<com.earthapp.shovel.Element>;
    function getElementsByClassName(_this_: com.earthapp.shovel.Document, className: string): kotlin.collections.KtList<com.earthapp.shovel.Element>;
    function inputValue(_this_: com.earthapp.shovel.Document, name: string): Nullable<string>;
}
export declare namespace com.earthapp.shovel {
    function querySelectorAll(_this_: com.earthapp.shovel.Document, selector: string): kotlin.collections.KtList<com.earthapp.shovel.Element>;
}
export declare function fetchDocumentAsPromise(_this_: string): Promise<com.earthapp.shovel.Document>;
export declare function fetchAsPromise(url: string): Promise<com.earthapp.shovel.Document>;
export as namespace com_earth_app_shovel_shovel;