import * as solid_js from 'solid-js';
import { Zip6Result } from '../zip6/index.cjs';

interface SearchResult {
    city: string;
    area: string;
    road: string;
}
declare function useTwZip6(): {
    cities: string[];
    areas: solid_js.Accessor<string[]>;
    roads: solid_js.Accessor<string[]>;
    city: solid_js.Accessor<string>;
    area: solid_js.Accessor<string>;
    road: solid_js.Accessor<string>;
    number: solid_js.Accessor<number | undefined>;
    lane: solid_js.Accessor<number | undefined>;
    alley: solid_js.Accessor<number | undefined>;
    setCity: (value: string) => void;
    setArea: (value: string) => void;
    setRoad: (value: string) => void;
    setNumber: solid_js.Setter<number | undefined>;
    setLane: solid_js.Setter<number | undefined>;
    setAlley: solid_js.Setter<number | undefined>;
    searchRoads: (keyword: string) => void;
    searchResults: solid_js.Accessor<SearchResult[]>;
    zipCode: solid_js.Accessor<string>;
    zip3: solid_js.Accessor<string>;
    result: solid_js.Accessor<Zip6Result | undefined>;
};

declare function useTwZip(): {
    cities: string[];
    districts: solid_js.Accessor<{
        [key: string]: string;
    }[]>;
    city: solid_js.Accessor<string>;
    setCity: (value: string) => void;
    district: solid_js.Accessor<string>;
    setDistrict: (value: string) => void;
    zipCode: solid_js.Accessor<string>;
    setZipCode: (value: string) => void;
};

export { type SearchResult, useTwZip as default, useTwZip, useTwZip6 };
