export interface ClientRegistrationRequest { client_name: string; redirect_uris: string[]; grant_types: string[]; response_types: string[]; token_endpoint_auth_method: "none" | "client_secret_basic" | "client_secret_post"; scope: string; application_type?: "native" | "web"; } export interface ClientRegistrationResponse { client_id: string; client_secret?: string; client_id_issued_at?: number; client_secret_expires_at?: number; registration_access_token?: string; registration_client_uri?: string; redirect_uris?: string[]; token_endpoint_auth_method?: string; scope?: string; } export declare function registerClient(registrationEndpoint: string, request: ClientRegistrationRequest, fetchImpl?: typeof fetch): Promise;