import * as grpc from "@grpc/grpc-js";
import { AxiosInstance } from "axios";
import { type Timeframe, type Sym } from "./index";
export interface ClientConfig {
    apiKey: string;
    apiBase?: string;
    grpcApiBase?: string;
    timeout?: number;
    grpcCredentials?: grpc.ChannelCredentials;
}
declare class UserClient {
    private readonly client;
    constructor(client: Client);
    me(): Promise<{
        id: string;
        firstName?: string;
    }>;
}
type SymFilter = {
    id?: string;
    tickerId?: string;
    timeframe?: Timeframe | string;
    limit?: number;
    offset?: number;
};
declare class SymClient {
    private readonly client;
    constructor(client: Client);
    get(query: SymFilter | string): Promise<Sym>;
    syms(query?: SymFilter): Promise<Sym[]>;
}
export declare class Client {
    readonly config: ClientConfig;
    private _clientInfo;
    private _http;
    private _grpcMetadata;
    private _grpcOptions;
    readonly user: UserClient;
    readonly sym: SymClient;
    constructor(config: ClientConfig);
    get http(): AxiosInstance;
    get grpcMetadata(): grpc.Metadata;
}
export {};
//# sourceMappingURL=client.d.ts.map