import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file gfxcafe/oku/account/v1/search.proto.
 */
export declare const file_gfxcafe_oku_account_v1_search: GenFile;
/**
 * SearchTokensRequest for token search
 *
 * @generated from message gfxcafe.oku.account.v1.SearchTokensRequest
 */
export type SearchTokensRequest = Message<"gfxcafe.oku.account.v1.SearchTokensRequest"> & {
    /**
     * Search query string (required)
     *
     * @generated from field: string query = 1;
     */
    query: string;
    /**
     * Optional chain IDs to filter results
     *
     * @generated from field: repeated int32 chain_ids = 2;
     */
    chainIds: number[];
    /**
     * Maximum number of results (default 10, max 50)
     *
     * @generated from field: int32 limit = 3;
     */
    limit: number;
};
/**
 * Describes the message gfxcafe.oku.account.v1.SearchTokensRequest.
 * Use `create(SearchTokensRequestSchema)` to create a new message.
 */
export declare const SearchTokensRequestSchema: GenMessage<SearchTokensRequest>;
/**
 * SearchTokensResponse with token results
 *
 * @generated from message gfxcafe.oku.account.v1.SearchTokensResponse
 */
export type SearchTokensResponse = Message<"gfxcafe.oku.account.v1.SearchTokensResponse"> & {
    /**
     * List of matching tokens
     *
     * @generated from field: repeated gfxcafe.oku.account.v1.TokenResult tokens = 1;
     */
    tokens: TokenResult[];
};
/**
 * Describes the message gfxcafe.oku.account.v1.SearchTokensResponse.
 * Use `create(SearchTokensResponseSchema)` to create a new message.
 */
export declare const SearchTokensResponseSchema: GenMessage<SearchTokensResponse>;
/**
 * TokenResult represents a search result for a token
 *
 * @generated from message gfxcafe.oku.account.v1.TokenResult
 */
export type TokenResult = Message<"gfxcafe.oku.account.v1.TokenResult"> & {
    /**
     * Token address
     *
     * @generated from field: string address = 1;
     */
    address: string;
    /**
     * Token symbol
     *
     * @generated from field: string symbol = 2;
     */
    symbol: string;
    /**
     * Token name
     *
     * @generated from field: string name = 3;
     */
    name: string;
    /**
     * Number of decimals
     *
     * @generated from field: int32 decimals = 4;
     */
    decimals: number;
    /**
     * Chain ID
     *
     * @generated from field: int32 chain_id = 5;
     */
    chainId: number;
    /**
     * Token logo URL (optional)
     *
     * @generated from field: string logo_url = 6;
     */
    logoUrl: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.TokenResult.
 * Use `create(TokenResultSchema)` to create a new message.
 */
export declare const TokenResultSchema: GenMessage<TokenResult>;
/**
 * SearchPoolsRequest for pool search
 *
 * @generated from message gfxcafe.oku.account.v1.SearchPoolsRequest
 */
export type SearchPoolsRequest = Message<"gfxcafe.oku.account.v1.SearchPoolsRequest"> & {
    /**
     * Search query string (required)
     *
     * @generated from field: string query = 1;
     */
    query: string;
    /**
     * Optional chain IDs to filter results
     *
     * @generated from field: repeated int32 chain_ids = 2;
     */
    chainIds: number[];
    /**
     * Maximum number of results (default 10, max 50)
     *
     * @generated from field: int32 limit = 3;
     */
    limit: number;
};
/**
 * Describes the message gfxcafe.oku.account.v1.SearchPoolsRequest.
 * Use `create(SearchPoolsRequestSchema)` to create a new message.
 */
export declare const SearchPoolsRequestSchema: GenMessage<SearchPoolsRequest>;
/**
 * SearchPoolsResponse with pool results
 *
 * @generated from message gfxcafe.oku.account.v1.SearchPoolsResponse
 */
export type SearchPoolsResponse = Message<"gfxcafe.oku.account.v1.SearchPoolsResponse"> & {
    /**
     * List of matching pools
     *
     * @generated from field: repeated gfxcafe.oku.account.v1.PoolResult pools = 1;
     */
    pools: PoolResult[];
};
/**
 * Describes the message gfxcafe.oku.account.v1.SearchPoolsResponse.
 * Use `create(SearchPoolsResponseSchema)` to create a new message.
 */
export declare const SearchPoolsResponseSchema: GenMessage<SearchPoolsResponse>;
/**
 * PoolResult represents a search result for a pool
 *
 * @generated from message gfxcafe.oku.account.v1.PoolResult
 */
export type PoolResult = Message<"gfxcafe.oku.account.v1.PoolResult"> & {
    /**
     * Pool address
     *
     * @generated from field: string address = 1;
     */
    address: string;
    /**
     * Token0 symbol
     *
     * @generated from field: string token0_symbol = 2;
     */
    token0Symbol: string;
    /**
     * Token1 symbol
     *
     * @generated from field: string token1_symbol = 3;
     */
    token1Symbol: string;
    /**
     * Fee tier (in basis points)
     *
     * @generated from field: int32 fee = 4;
     */
    fee: number;
    /**
     * Chain ID
     *
     * @generated from field: int32 chain_id = 5;
     */
    chainId: number;
    /**
     * Total value locked in USD
     *
     * @generated from field: double tvl_usd = 6;
     */
    tvlUsd: number;
};
/**
 * Describes the message gfxcafe.oku.account.v1.PoolResult.
 * Use `create(PoolResultSchema)` to create a new message.
 */
export declare const PoolResultSchema: GenMessage<PoolResult>;
/**
 * SearchService provides token and pool search functionality
 *
 * @generated from service gfxcafe.oku.account.v1.SearchService
 */
export declare const SearchService: GenService<{
    /**
     * SearchTokens searches for tokens across supported chains
     *
     * @generated from rpc gfxcafe.oku.account.v1.SearchService.SearchTokens
     */
    searchTokens: {
        methodKind: "unary";
        input: typeof SearchTokensRequestSchema;
        output: typeof SearchTokensResponseSchema;
    };
    /**
     * SearchPools searches for liquidity pools
     *
     * @generated from rpc gfxcafe.oku.account.v1.SearchService.SearchPools
     */
    searchPools: {
        methodKind: "unary";
        input: typeof SearchPoolsRequestSchema;
        output: typeof SearchPoolsResponseSchema;
    };
}>;
